java - 兼容 Oracle 10g 和 Java 1.8 的 JDBC 驱动程序

标签 java jdbc oracle10g

我有一个相当琐碎的问题。在我们的项目中,我们使用 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.jar,但它不支持 JDBC 4 (Java 6)、JDBC 4.1 (Java 7) 和 JDBC 4.2 (Java 8) 中引入的方法。因为 Java 强调向后兼容性,所以您很可能能够打开数据库连接,但是:

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

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

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

关于java - 兼容 Oracle 10g 和 Java 1.8 的 JDBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51660746/

相关文章:

oracle - Oracle 12c 客户端支持的服务器版本

java - 内部带有 JTextArea 组件的自定义 JButton

java - 如何在 Spring-mvc 中使用 html 链接调用 Controller ?

java - 如何在 Java 中创建一个随机的 BigDecimal?

java - 使用 NetBeans 在 MS Access 数据库中未发生插入删除更新

java - SQLite JDBC驱动程序错误: getarray not implemented

mysql - Pyspark DataFrameWriter jdbc 函数的忽略选项是忽略整个事务还是只忽略有问题的行?

java - 正则表达式模式不会匹配任何内容

sql - 从多个相关表中删除行

sql - oracle中的减号运算符