我们计划将我们的应用服务器升级到新版本的 JRun,该版本将从 Java 1.4 升级到 Java 1.6。作为升级的一部分,我们一直在测试软件堆栈的各个部分,并意识到还需要查看我们的 Oracle JDBC 驱动程序。
查看 Oracle 网站和文档,不同版本似乎主要针对 JDBC API 的各种版本,这些版本往往与引入它们的 JVM 版本相对应。由于 Java(通常)向后兼容,坚持使用 ojdbc14.jar 似乎最有意义,但我希望有人可以更好地澄清一些事情。
文档特别引用了这样的图表,这让我怀疑 ojdbc14.jar 是否在 Java 6 下得到官方支持。
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
混合和匹配驱动程序和虚拟机时,从系统角度来看我应该注意什么?
答案1
是的,您可以在较新的 Java 版本上运行较小的驱动程序。只是 ojdbc14.jar 不包含 JDBC3 和 JDBC4 功能。
您必须区分运行时和编译时。在运行时,只要您的应用代码未使用 JDBC4 功能,您就可以在 JRE6 中使用 ojdbc14.jar。如果您想在构建路径中使用 ojdbc14.jar,您可能会遇到未实现方法的问题。
但是我通常建议使用最新的(即 11.1.0.7)JDBC 驱动程序和尽可能最高的版本。(无论数据库版本是什么)。
您使用 OCI 还是 THIN 模式?