java - 11g 的 oci 驱动程序 (odbc5.jar) 可以与 10g 客户端一起使用吗?

标签 java jdbc oracle10g oracle11g

我需要在我的 java 应用程序中连接到 Oracle9、10 和 11。客户端将始终存在于应用程序运行的位置,并且我希望应用程序仅使用用户名、密码和实例(在 tnsnames.ora 中指定) )。因此,我想要具有以下类型连接字符串的 oci 驱动程序:jdbc:oracle:oci:@testora。我使用的驱动程序:oracle.jdbc.driver.OracleDriver。 我有一个10g客户端并且使用jdk1.5。当我使用客户端库路径中的 ojdbc14 jar 时,应用程序运行。

但是如果我使用 ojdbc5 驱动程序,那么应用程序会失败并显示 线程“main”中出现异常 java.lang.UnsatisfiedLinkError:java 中没有 ocijdbc11。 库.路径 异常。

我正在寻找一种打包单个jar(ojdbc5/ojdbc14)和单个驱动程序的方法,该驱动程序将使用oci驱动程序连接到本地计算机(9/10/11)上存在的客户端。这是我喜欢的方式。

如果这是不可能的,我可以在unix框中搜索oracle版本,选择正确的jar,然后在调用jar格式的应用程序时在类路径中使用它吗?

谢谢, 跌倒了

最佳答案

java.lang.UnsatisfiedLinkError: no ocijdbc11 in java.library.path

这意味着您在 Java 库路径中缺少 DLL (ocijdbc11.dll)。确保您拥有该 DLL 并按如下方式启动您的程序:

java -Djava.library.path=C:\mydirwiththedll com.mypackage.MyProgram

关于java - 11g 的 oci 驱动程序 (odbc5.jar) 可以与 10g 客户端一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1360840/

相关文章:

java - Java,以初始值设定项列表格式将2d数组传递给方法

java - 斯坦福解析器java代码错误

java - 如何在 C Ruby 中使用 Java 库(如 JDBC)?

java - sql server jdbc 查询日期时间列

java - 如何检测SQ​​LException的SQL错误状态

java - CHAR 类型的 JPA 查询。是 : JPA query with WHERE and EmbeddedId

sql - Oracle 排序替换变量

java - 了解实体映射到数据库 View 的删除或更新

java - Android 上的装箱和拆箱

java - 应用程序启动方法 java.lang.reflect.InvocationTargetException 中的异常