no ocijdbc9 in java.library.path

廉价感情. 提交于 2019-12-18 06:57:20

问题


When I try to run Java application, I receive the following error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path

I don't have a file ocijdbc9.* on my PC, but I have ocijdbc10.dll in %ORACLE_HOME%\bin.

%ORACLE_HOME% is correctly specified, so I think the problem is that the application is searching for the wrong version (9 instead of 10).

Both Oracle and Java Builder are freshly installed, so the problem may be in project preferences? Do you have any ideas on how to search for the place where the wrong version is specified?


回答1:


You're missing a file from your java CLASSPATH.

You need to add the OCI jar to your classpath.

For my oracle 10.0.2 install on windows it's located in

%ORACLE_HOME%\jdbc\lib\ojdbc14.jar

If your application requires ocijdbc9 then you'll have to download it from somewhere and add it to the CLASSPATH. I don't know where to download it from, try the oracle site




回答2:


an additional tip: if you're using oci jdbc urls; it is always better to use the jar library of your oracle client version.

please check this address for these libraries: http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

for example if your client is Oracle 10.2.0.4, then you'd better use this client's ojdbc14.jar for java >= 1.4 and classes12.jar for java <= 1.3

note that until Oracle 11, jdbc libraries have the same names in every version such as ojdbc14.jar and classes12.jar.




回答3:


You need to pass -Djava.library.path=YOUR_ORACLE_HOME\bin to the JRE as a runtime parameter

So....

java [other java switches + runtime parameters] -Djava.library.path=YOUR_ORACLE_HOME\bin run-classname



回答4:


I think it is because you have not yet installed Oracle Client. After installing it, maybe it is ok



来源:https://stackoverflow.com/questions/919921/no-ocijdbc9-in-java-library-path

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!