1

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

但是,如果我使用 ojdbc5 驱动程序,那么应用程序将失败,并在线程“main”java.lang.UnsatisfiedLinkError: no ocijdbc11 in java 中出现异常。library.path 异常。

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

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

谢谢,跌倒

4

2 回答 2

1

java.lang.UnsatisfiedLinkError:java.library.path 中没有 ocijdbc11

这意味着您在 Java 库路径中缺少一个 DLL (ocijdbc11.dll)。确保你有那个 DLL 并像这样启动你的程序:

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

于 2009-09-01T08:06:37.690 回答
1

ojdbc5.jar 旨在与 jdk1.5.x 一起使用,无论您连接到 Oracle 10 还是 11g 都无关紧要,ojdbc14.jar 旨在用于 jdk1.4.x

于 2009-12-14T18:11:30.703 回答