java.library.path中没有ocijdbc9

时间:2009-05-28 09:11:19

标签: java oracle linker linker-errors

当我尝试运行Java应用程序时,收到以下错误:

  

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

我的电脑上没有ocijdbc9.*文件,但ocijdbc10.dll中有%ORACLE_HOME%\bin

%ORACLE_HOME%被正确指定,所以我认为问题是应用程序正在搜索错误的版本(9而不是10)。

Oracle和Java Builder都是新安装的,所以问题可能出在项目首选项中?您对如何搜索指定了错误版本的地方有任何想法吗?

4 个答案:

答案 0 :(得分:3)

您缺少java CLASSPATH中的文件。

您需要将OCI jar添加到类路径中。

对于我在Windows上的oracle 10.0.2安装,它位于

%ORACLE_HOME%\jdbc\lib\ojdbc14.jar

如果您的应用程序需要ocijdbc9,那么您必须从某处下载它并将其添加到CLASSPATH。我不知道从哪里下载,试试oracle网站

答案 1 :(得分:2)

另一个提示: 如果你正在使用oci jdbc网址;使用oracle客户端版本的jar库总是更好。

请检查这些图书馆的地址:http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

例如,如果您的客户端是Oracle 10.2.0.4,那么您最好将此客户端的ojdbc14.jar用于java> = 1.4并且classes12.jar用于java< = 1.3

请注意,在Oracle 11之前,jdbc库在每个版本中都具有相同的名称,例如ojdbc14.jarclasses12.jar

答案 2 :(得分:1)

您需要将-Djava.library.path=YOUR_ORACLE_HOME\bin作为运行时参数

传递给JRE

...所以

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

答案 3 :(得分:-1)

我认为这是因为您尚未安装Oracle客户端。 安装后,也许没关系