繁体   English   中英

Oracle 19c 与 jdk7 的兼容性

[英]Oracle 19c compatibility with jdk7

我想知道 oracle 19c 是否与 jdk 7 兼容。

我找到了 2 个 oracle 19c 的驱动程序

  • ojdbc8 :用于 jdk8、jdk9 和 jdk11
  • ojdbc10 :用于 jdk10 和 jdk11

我想知道是否有办法让 oracle 19c 和 jdk7 一起使用,如果是的话,什么是允许这样做的驱动程序?

根据Oracle JDBC FAQ (问题“Oracle JDBC 版本与 JDK 版本是什么?”),Oracle 19c 仅支持您列出的 Java 版本(Java 8 到 11)。

  • 我希望将来会添加对更高版本的 Java 的支持。
  • Java 9 和 Java 10 是生命周期较短的版本,并且都是生命周期结束的版本。

正如评论所指出的,Java 7 自 2015 年 4 月以来一直“生命终结”。如果 Oracle 通过为新的 Oracle 数据库版本提供新的 JDBC 驱动程序来支持 Java 7 来鼓励继续使用 Java 7,这将适得其反。

请注意,Oracle 驱动程序是专有的,源代码不可用。 因此,将 Oracle 19c 兼容驱动程序之一反向移植到 Java 7 不是一种选择。

您可能能够确定一个第三方供应商,他们将为您提供(可能出售)一个有效的驱动程序。 我能想到的最好的办法是列出供应商的页面:


总结:如果您想将 Oracle 19c 与 Oracle 支持的驱动程序一起使用,升级到 Java 8 LTS或更高版本是唯一可行的解​​决方案。 建议升级到 Java 11 LTS:

  • Oracle Java 8 LTS 免费公共更新(面向商业用户)已结束,高级支持将于 2022 年 3 月结束; 请参阅Oracle Java SE 支持路线图

  • 2020 年后,您仍然可以从第三方供应商处获得免费的公共 Java 8 LTS 更新; 有关所有详细信息,请参阅Java 仍然免费

我可以确认在JDK 7上运行的ojdbc7.jar可以连接到Oracle 19C服务器。

查看 Oracle JDBC FAQ 似乎没有官方支持,但是我们目前有一个客户端正在升级他们的 JDK,但我们需要在短期内支持 JDK 7。

我们的 Oracle 服务器是一个 AWS RDS 实例,之前运行的是Oracle 12C ,但亚马逊不再支持这个,我们被迫升级到Oracle 19c

我们有一些 JDK 8 环境(容器 JBoss 7)已经在使用ojdbc7.jar ,这些都很好。 JDK 7 环境(容器 JBoss 5.2)正在使用ojdbc6-11.2.0.1.0.jar并且失败并出现异常:

引起:java.sql.SQLException:ORA-28040:没有匹配的身份验证协议

在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388) 在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381 ) 在 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) 在 oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java: 186) 在 oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:356) 在 oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java: 531) 在 oracle.jdbc.driver.T4CConnection.(T4CConnection.java:221) 在 oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) 在 oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java: 503) 在 org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:207

ojdbc6-11.2.0.1.0.jar切换到: ojdbc7.jar后,应用程序运行正常。

需要注意的是,我快速测试了我们的应用程序对数据库的读/写,并且这些都按预期工作,您的里程可能会有所不同,如上所述,这不是官方支持的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM