解决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后,将不报错。

本文介绍了当使用Hibernate连接Sybase数据库时出现SET_READONLY_TRUE警告的原因,并提供了通过修改Sybase的spt_mda系统表来解决此问题的具体步骤。

被折叠的 条评论
为什么被折叠?



