我想知道oracle 19c是否与jdk 7兼容。
我发现甲骨文19c有两个司机
我想知道是否有一种使用jdk7实现甲骨文19c的方法,如果是的话,驱动程序将允许这样做吗?
发布于 2020-02-14 15:47:48
根据Oracle JDBC FAQ (“什么是Oracle发布版本与JDK版本?”),Oracle19c只支持您列出的Java版本(Java8-11)。
正如评论指出的那样,自2015年4月以来,Java 7一直是“生命的终结”。如果Oracle鼓励继续使用Java 7,并为新的Oracle数据库版本提供新的JDBC驱动程序,这将适得其反。
请注意,Oracle驱动程序是专有的,源代码不可用。因此,将Oracle 19c兼容的驱动程序之一移植到Java 7并不是一种选择。
你可能会发现一个第三方供应商谁将提供(可能出售)你的驱动程序工作。我能想到的最好的方法就是列出供应商的旧页面:
In :如果您想在Oracle支持的驱动程序中使用Oracle19c,那么升级到Java8LTS或更高版本是唯一可行的解决方案。升级到Java 11 LTS是可取的:
发布于 2022-06-24 12:08:13
我可以确认运行在JDK 7上的ojdbc7.jar可以连接到Oracle 19C服务器。
从Oracle JDBC FAQ来看,它似乎没有得到官方的支持,但是在升级他们的JDK的过程中,我们有一个当前的客户端,但是我们需要在短期内支持JDK 7。
我们的Oracle服务器是一个AWS实例,以前运行的是Oracle 12C,但是亚马逊不再支持这一点,我们被迫升级到Oracle 19c。
我们有一些JDK 8环境(容器JBoss 7),它们已经在使用ojdbc7.jar,这些环境都很好。JDK 7环境(容器ojdbc6-11.2.0.1.0.jar 5.2)正在使用JBoss,并且异常失败:
原因: java.sql.SQLException: ORA-28040:没有匹配的身份验证协议 在oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381) at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:427) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4CTTIoauthenticateoracle.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之后,应用程序正常运行。
只是一个警告,我很快测试了我们的应用程序读/写到DB,这些工作正常,您的里程可能会有所不同,正如上面提到的,这是不受官方支持的。
https://stackoverflow.com/questions/60229135
复制相似问题