classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar之间的区别


10

我们计划将应用程序服务器升级到新版本的JRun,并将其从Java 1.4升级到Java 1.6。作为其一部分,我们一直在测试软件堆栈的各个部分,并意识到也需要查看我们的Oracle JDBC驱动程序。

查看Oracle网站和文档,不同版本似乎主要针对各种版本的JDBC API,这些版本往往与它们引入的JVM版本相对应。Java(通常)是向后兼容的,坚持使用ojdbc14.jar可能最有意义,但我希望在那里的某个人可以使事情变得更好。

文档专门列出了这样的图表,这让我想知道Java 6是否正式支持ojdbc14.jar。

classes12.jar - for Java 1.2 and 1.3
ojdbc14.jar - for Java 1.4 and 1.5
ojdbc5.jar - for Java 1.5
ojdbc6.jar - for Java 1.6

从系统角度看,在混合和匹配驱动程序和虚拟机时,我应该注意些什么?


请注意,这不是版本号,因此ojdbc14.jar不比ojdbc6.jar更旧/更不兼容,它仅使用较低类的文件格式而不是所有JDBC功能。Oracle建议始终使用最新的即时客户端版本-即使您的数据库是旧版本。
eckes 2012年

Answers:


6

是的,您可以在较新的Java版本上运行较小的驱动程序。只是ojdbc14.jar不包含JDBC3和JDBC4功能。

您必须区分运行时和编译时间。在运行时,只要您的应用程序代码未使用JDBC4功能,就可以在JRE6中使用ojdbc14.jar。如果要在构建路径中使用ojdbc14.jar,则可能会遇到未实现方法的探测。

但是,我通常建议使用最新的(即11.1.0.7)JDBC驱动程序和尽可能高的版本。(无论数据库版本是什么)。

您正在使用OCI还是THIN模式?


我们正在使用薄模式。
Goyuix

1
使用最高的可用版本=已修复更多错误...
slovon

1
@slovon实际上有一个来自oracle的认证文档,告诉您可以与哪个DB一起使用哪些驱动程序。12.1驱动程序已通过12.1和11.2认证。对于较旧的RDBMS,您需要11.1驱动程序。(并且12.1客户端也带有ojdbc7.jar,但在InstantClient中没有)
eckes 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.