c3p0、hibernate 連接sybase數據庫無法設置連接選項 SET_READONLY_TRUE、SET_CATALOG。 解決 .

 解決hibernate連sybase出現的"SET_READONLY_TRUE"警告

原因:
java.sql.Connection有一個setReadOnly(boolean)方法用以通知數據庫優化返回的結果集,但Sybase及Sybase ASE不需要。

解決:
Darrell Fuller已經解決了此問題。
(參見http://forums.hibernate.org/viewtopic.php?p=2209134&highlight=&sid=d94eb4a43870a4d8303b6557af2aee5d)

Sybase及SQLAnywher有一叫spt_mda的系統表,修改此表中的數據,可解決此問題。(此表在Sybase存放在master數據庫中)

ASA數據庫

(參見http://forums.hibernate.org/viewtopic.php?p=2209134&highlight=&sid=d94eb4a43870a4d8303b6557af2aee5d)

Sybase及SQLAnywher有一叫spt_mda的系統表,修改此表中的數據,可解決此問題。(此表在Sybase存放在master數據庫中)

通過“select * from spt_mda where mdinfo='SET_READONLY_FALSE' or mdinfo='SET_READONLY_TRUE'”的語句可列出相應內容:

 

mdinfo querytype query
SET_READONLY_FALSE 3  
SET_READONLY_TRUE 3  

 

使用

update spt_mda set querytype = 4, query = '0' 
where mdinfo = 'SET_READONLY_FALSE'

update spt_mda set querytype = 4, query = '0' 
where mdinfo = 'SET_READONLY_TRUE'

的語句將此表修改。原來的3代表不支持,因此發出SQLWarning。改爲4及0後,將不報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章