can oci driver for 11g(odbc5.jar)与10g客户端一起工作?

时间:2009-09-01 06:31:23

标签: java jdbc oracle10g oracle11g

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

但是如果我使用ojdbc5驱动程序,则应用程序失败 线程“main”中的异常java.lang.UnsatisfiedLinkError:java中没有ocijdbc11。 library.path 异常。

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

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

谢谢, 跌

2 个答案:

答案 0 :(得分:1)

  

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

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

  

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

答案 1 :(得分:1)

ojdbc5.jar旨在与jdk1.5.x一起使用,无论是连接Oracle 10还是11g都无所谓,ojdbc14.jar适用于jdk1.4.x

相关问题