Question

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?

Was it helpful?

Solution

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

OTHER TIPS

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.

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top