【问题标题】:OJDBC Driver compatible with Oracle 10g and Java 1.8与 Oracle 10g 和 Java 1.8 兼容的 JDBC 驱动程序
【发布时间】:2019-01-10 15:30:12
【问题描述】:

我有一个相当琐碎的问题。在我们的项目中,我们使用 Oracle 10g 作为数据库,使用 Java 1.8 作为语言。谁能建议我在这种情况下哪种 JDBC 驱动程序适合?

在以下链接中的 Oracle 文档中: http://www.oracle.com/technetwork/apps-tech/jdbc-10201-088211.html 我发现应该使用ojdbc14.jar。但是它被写成是使用 JDK 1.4 和 1.5 编译的类。那么在使用 JDK 1.8 时我应该使用相同的驱动程序吗?

【问题讨论】:

  • 请注意ojdbc14不是一个版本,它表示驱动是Java 1.4的。从技术上讲(根据他们的FAQ),Oracle 不再支持 Oracle 10(除非你付给他们很多钱),但我从旧版本的常见问题解答(查看 archive.org)中知道 JDBC 11.2 驱动程序支持 Oracle 9.0 .1 及更高版本,JDBC 12.1 至少支持 Oracle 10.2.0 及更高版本。这可能表明即使 JDBC 12.2 也可以与 Oracle 10 一起使用。
  • 但是要求图书馆推荐是题外话。

标签: java jdbc oracle10g


【解决方案1】:

您可以尝试使用ojdbc14.jar,但它不支持 JDBC 4 (Java 6)、JDBC 4.1 (Java 7) 和 JDBC 4.2 (Java 8) 中引入的方法。由于 Java 强调向后兼容性,您很可能能够打开数据库连接,但是:

  1. 如果您使用 JDBC 4+ 中引入的方法,代码将在运行时抛出 LinkageError。代码将使用 JDBC 4.2 (Java 8) 进行编译,但这些方法在运行时将不可用。

  2. 您可能会遇到低级功能的奇怪行为,例如语句缓存和行提取在 11g ojdbc6.jar 中被修改了几次。我什至不确定这些功能在旧的ojdbc14.jar 中是如何工作的。

这是一个非常不寻常的、我认为不可取的设置,您要测试它。看看它是否有效的唯一方法就是尝试一下。

【讨论】:

    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 2012-12-27
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多