【问题标题】:OracleResultSet class in ojdbc14.jar and ojdbc6.jarojdbc14.jar 和 ojdbc6.jar 中的 OracleResultSet 类
【发布时间】:2013-07-17 03:07:26
【问题描述】:

我在 ojdbc14.jar 的程序中使用了 oracle.jdbc.driver.OracleResultSet 类。之后,我将 Oracle 10g 升级到 11g,从现在开始,我使用 ojdbc6.jar

有了这个新的 jar 文件,它给了我编译错误“oracle.jdbc.driver.OracleResultSet is not visible”。我已经使用 从两个 jar 文件中提取“jar xf xxx.jar”并获取 OracleResultSet 类的类文件并反编译并获得 Java 代码。我观察到 OracleResultSet 是 ojdbc14.jar 中的公共类,但 ojdbc6.jar 中没有访问修饰符,这限制了我使用“OracleResultSet”类。

这个问题有什么解决办法吗?

【问题讨论】:

  • 不能直接使用java.sql.ResultSet接口吗?一般来说,不建议使用 JDBC 接口而不是驱动程序的具体实现。
  • 试试oracle.jdbc.OracleResultSet,它是公共接口。
  • @TedShaw:使用 oracle.jdbc.driver.OracleResultSet 和 oracle.jdbc.OracleResultSet 会有什么不同吗?其实你的建议对我有用
  • oracle.jdbc.driver.OracleResultSet 实现了 oracle.jdbc.OracleResultSet 接口,程序接口不是具体类

标签: java jdbc ojdbc


【解决方案1】:

我更改了从 oracle.jdbc.OracleResultSet 的导入;到 oracle.jdbc.*;并且错误消失了。 我再次更改了从 oracle.jdbc.* 的导入;到 oracle.jdbc.OracleResultSet 并保存。它现在可以正常工作,没有任何编译错误。

【讨论】:

  • 为我工作,从 ojdbc 1.6 到 8。只需用 oracle.jdbc.* 替换损坏的导入,然后保存所有,我不需要其他步骤。
  • 对我有用 import oracle.jdbc.*; 谢谢
【解决方案2】:

使用import line(import oracle.jdbc.*;) 然后就可以了。

【讨论】:

  • 我不确定那是什么魔法,但我很确定 import oracle.jdbc.OracleResultSet 就足够了。我在另一个班级遇到同样的问题。似乎他们在 ojdbc6 上移动了一些东西
猜你喜欢
  • 2011-03-13
  • 2013-01-10
  • 2013-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 2015-09-30
相关资源
最近更新 更多