环境:windowsxp,Oracle 9.2.0.1.0,jdbc为oracle11g jdbc驱动,Hibernate 3.3.0.SP1
问题:发现报
ORA-01483: DATE 或 NUMBER 赋值变量的长度无效
分析过程:
通过直接写jdbc程序,发现clob字段必须做为最后一个参数(预编译)才行(Hibernate 做不到),判断应该是oracle的问题,
通过查oracle的bug,发现有种情况可能会引起这个错误
下载 Oracle9i Patch Set Release 2 (9.2.0.8) Patch Set 7 for Microsoft Windows (32-Bit)
安装如果看不懂里面的e文说明 可以看中文的 http://tiana.zhmy.com/archives/2008/147800.html?paxaljd=65189
打完补丁包,重新测试jdbc程序,发现没有这个限制了,Hibernate clob也正常了(把clob映射成string)
数据库连接属性增加SetBigStringTryClob,并且使用新驱动。