java.lang.AbstractMethodError:oracle.jdbc.driver.T4CPreparedStatement.setCharacterStream(ILjava/io/Reader; J)V

Tin*_*iny 8 spring hibernate clob oracle10g

尝试将CKEditor(用于CMS - 内容管理系统)的内容插入Oracle数据库 - Oracle 10g时,我遇到以下异常.

Oracle表中的字段是clob类型.

java.lang.AbstractMethodError:oracle.jdbc.driver.T4CPreparedStatement.setCharacterStream(ILjava/io/Reader; J)V

另一方面是当我尝试使用JSON通过AJAX将相同的内容插入数据库时​​,不会导致此异常.

我正在使用

  • 春季3.2.0
  • Hibernate 4.2.0.CR1
  • Oracle JDBC驱动程序版本 - 10.2.0.5.0
  • JDK - 1.7
  • Oracle 10g

由于我将Hibernate从3.2.5更改为4.2.0.CR1,因此导致异常

这个链接说

setCharacterStream()方法有3个版本,其中两个是作为JDBC 4.0(Java 1.6)的一部分添加的.您的JDBC驱动程序可能不支持它们:

这个答案建议升级JDBC驱动程序,但这个问题是关于我还没有使用的Oracle 11g.

我不太确定.JDBC 11.x驱动程序是否与Oracle 10g兼容?曾几何时,我曾试过一个,但它没有正常工作.

如何解决这个异常?


编辑:

我刚刚下载了 ojdbc6.jar(之前是ojdbc14.jar上面指定的驱动程序),其中包含Oracle JDBC Driver version - "11.1.0.7.0-Production".

异常异常消失了.请告诉我,如果此驱动程序版本与Oracle 10g完全兼容.

ger*_*tan 8

我不太确定.JDBC 11.x驱动程序是否与Oracle 10g兼容?曾几何时,我曾试过一个,但它没有正常工作.

作为Oracle JDBC驱动程序11g通用文档指出http://docs.oracle.com/cd/E11882_01/java.112/e16548/getsta.htm

向后兼容性

JDBC驱动程序经过认证,可与当前支持的Oracle数据库版本配合使用.例如,Oracle Database 11g第2版(11.2)中的JDBC Thin驱动程序经过认证可与10.2.x,10.1.x,9.2.x和9.0.1.x Oracle数据库版本一起使用.但是,它们未经过认证,无法使用较旧的,不受支持的数据库版本,例如8.0.x和7.x.