【发布时间】:2017-12-26 16:35:04
【问题描述】:
我从其他开发人员那里继承了一个小型 java 实用程序——只有几个 .java 文件和可执行的 .jar。
我通过传递一个连接字符串来运行 java 程序。现在我需要将到 Oracle 的连接字符串从 jdbc:oracle:thin:<user>/<password>@host 更改为 jdbc:oracle:oci:<user>/<password>@host 以开始使用厚驱动程序而不是精简驱动程序。
结果我收到错误:“ocijdbc11 (Not found in java.library.path)”。
这里是我的问题:
- ocijdbc11 是 ojdbc7.jar 的一部分吗?或者java需要什么文件?
ANSW:ocijdbc11 是一个库:
/oracle/client/o11r2/lib/libocijdbc11.so - 如何查看 java 用于查找
ocijdbc11的路径?
以防万一:
$ ls /oracle/client/o12r1/
assistants diagnostics jlib oui slax
bin dmu ldap owm sqlplus
cdata has lib perl srvm
cfgtoollogs hs network plsql ucp
clone install nls precomp usm
crs instantclient odbc QOpatch utl
css inventory OPatch racg wwg
cv javavm opmn rdbms xdk
dc_ocm jdbc oracore relnotes
deinstall jdk oraInst.loc root.sh
UPD 我尝试使用选项-Djava.library.path=/oracle/client/o11r2 并得到其他错误。但是我仍然不知道如何使用 Oracle 12.1 而不是 11.2。
UPD2 我已将环境路径更改为使用 Oracle 12 而不是 11。现在错误看起来像 ocijdbc12 (Not found in java.library.path)。文件 /oracle/client/o12r1/lib/libocijdbc12.so 存在。
我将/oracle/client/o11r2/lib 添加到LD_LIBRARY_PATH——同样的错误(ocijdbc12 (Not found in java.library.path))。我尝试了选项-Djava.library.path=/oracle/client/o12r2/lib——同样的错误。你能帮我解决它吗?
【问题讨论】:
标签: java oracle jdbc aix oracle-call-interface