java.library.path中没有ocijdbc10

时间:2011-02-23 15:21:22

标签: java eclipse oracle jdbc

所以我一直受到这个问题的困扰,每当我尝试在eclipse中运行我的应用程序时,我都会收到此错误。

2011-02-23 09:55:08,388 ERROR (com.xxxxx.services.factory.ServiceInvokerLocal:21) - 
java.lang.UnsatisfiedLinkError: no ocijdbc10 in java.library.path

我已经尝试按照我发现here的步骤而没有运气。我在XP VM以及Windows 7上尝试了这个(虽然在win 7中我得到了不同的错误,如下所示)

java.lang.UnsatisfiedLinkError: no ocijdbc9 in java.library.path

我确保我的oracle客户端正常(通过运行TOAD)并且我还将classes12.jar / ojdbc14.jars重新添加到直接从我的%ORACLE_HOME%文件夹中获取的WEB-INF / lib文件夹中(也是将它们重新添加到lib路径中)。我也试过添加没有classes12.jar的ojdbc14.jar。任何建议表示赞赏。

在XP VM中,我的PATH变量设置为C:\ Program Files \ Java \ jdk1.6.0_24 \ bin; C:\ ORACLE \ product \ 10.2.0.1 \ BIN。我正在使用Tomcat服务器5.0

5 个答案:

答案 0 :(得分:3)

我同意您在评论中提出的建议,如果可以,请使用瘦驱动程序而不是OCI驱动程序。它更简单,它应该绕过你遇到的问题。

如果由于某种原因确实需要OCI驱动程序,那么问题是DLL不在Java库路径上。这与用于定位类定义的类路径分开。这里的线索是(a)错误引用java.library.path,以及(b)你得到UnsatisfiedLinkError而不是ClassNotFoundException这一事实。

您需要设置java.library.path属性以包含DLL的位置,或者将DLL的位置添加到Windows PATH,以便Java找到它们。

此处提供更多信息:http://forums.oracle.com/forums/thread.jspa?threadID=615281

答案 1 :(得分:2)

我最近两次遇到过同样的错误。我第一次设法解决它而不知道我做了什么。难道你不喜欢那样,因为当它再次出现时你做了什么?当我不得不在eclipse中创建一个新项目时,它确实再次出现了。这次我知道问题是什么,忽略和修复是一件非常简单的事情。其他海报有很好的信息,但如果你有与我相同的根本原因并且我相信你做的话它对你没有帮助......

问题很简单就是这样:我的Java构建路径中有两个不同的ojdbcXX.jar文件(在Eclipse中)。我有ojdbc14.jar和ojdbc6.jar显然它首先击中ojdbc14.jar然后抛出错误。一旦我删除了不必要的jar文件,那么错误消失了。在我意识到错误之前,让我疯了一整天!

我希望这会有所帮助。

答案 2 :(得分:0)

如果您的oci.dll版本错误/较旧,则会出现此错误。设置路径并恢复到正确的oci.dll后,错误消失了。

答案 3 :(得分:0)

当我使用DBvisualize连接Oracle数据库时,我也遇到了这个错误。 我认为这是因为您还没有安装Oracle客户端。 安装后,也许没关系

答案 4 :(得分:0)

使用MyEclipse时遇到了同样的问题。一个需要设置oracle客户端lib和bin文件夹的路径。附加图像以供参考。希望能帮助到你 enter image description here