当我尝试运行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都是新安装的,所以问题可能出在项目首选项中?您对如何搜索指定了错误版本的地方有任何想法吗?
答案 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.jar
和classes12.jar
。
答案 2 :(得分:1)
您需要将-Djava.library.path=YOUR_ORACLE_HOME\bin
作为运行时参数
...所以
java [other java switches + runtime parameters] -Djava.library.path=YOUR_ORACLE_HOME\bin run-classname
答案 3 :(得分:-1)
我认为这是因为您尚未安装Oracle客户端。 安装后,也许没关系