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

青春壹個敷衍的年華 提交于 2019-12-06 23:47:18

问题


I'm getting the following exception when trying to insert the contents of a CKEditor (for CMS - Contents Management System) into Oracle database - Oracle 10g.

The field in the Oracle table is of type clob.

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

The opposite side is that this exception is not caused when I try to insert the same contents into the database via AJAX using JSON.

I'm using

  • Spring 3.2.0
  • Hibernate 4.2.0.CR1
  • Oracle JDBC Driver version - 10.2.0.5.0
  • JDK - 1.7
  • Oracle 10g

The exception has been causing since I changed Hibernate from 3.2.5 to 4.2.0.CR1

This link says

There are 3 versions of the setCharacterStream() method, two of them were added as part of JDBC 4.0 (Java 1.6). Your JDBC driver may not support them:

This answer recommends to upgrade the JDBC driver but that question is about Oracle 11g that I'm not yet using.

I'm quite not sure. Are JDBC 11.x drivers compatible with Oracle 10g? Once upon a time, I had tried with one but it didn't work properly.

How to solve this exception?


EDIT:

I have just downloaded ojdbc6.jar (previously it was ojdbc14.jar with the driver specified as above) which contains Oracle JDBC Driver version - "11.1.0.7.0-Production".

The exception exception disappeared. Kindly tell me, if this driver version is perfectly compatible with Oracle 10g.


回答1:


I'm quite not sure. Are JDBC 11.x drivers compatible with Oracle 10g? Once upon a time, I had tried with one but it didn't work properly.

As stated on Oracle JDBC driver 11g documentation http://docs.oracle.com/cd/E11882_01/java.112/e16548/getsta.htm

Backward Compatibility

The JDBC drivers are certified to work with the currently supported versions of Oracle Database. For example, the JDBC Thin drivers in Oracle Database 11g Release 2 (11.2) are certified to work with the 10.2.x, 10.1.x, 9.2.x, and 9.0.1.x Oracle Database releases. However, they are not certified to work with older, unsupported database releases, such as 8.0.x and 7.x.



来源:https://stackoverflow.com/questions/14926134/java-lang-abstractmethoderror-oracle-jdbc-driver-t4cpreparedstatement-setcharac

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!