8

尝试将 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
  • 休眠 4.2.0.CR1
  • Oracle JDBC 驱动程序版本 - 10.2.0.5.0
  • JDK - 1.7
  • 甲骨文 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.jarOracle JDBC Driver version - "11.1.0.7.0-Production"

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

4

1 回答 1

8

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

如 Oracle JDBC 驱动程序 11g 文档http://docs.oracle.com/cd/E11882_01/java.112/e16548/getsta.htm所述

向后兼容性

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

于 2013-02-18T03:59:34.377 回答