java - java.library.path 中没有 ocijdbc10

标签 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 路径)。我也试过只添加 ojdbc14.jar 而没有添加 classes12.jar。任何建议表示赞赏。

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

最佳答案

我同意你在评论中得到的建议,如果可以的话,使用瘦驱动程序而不是 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

关于java - java.library.path 中没有 ocijdbc10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5092897/

相关文章:

java - GAE无法访问客户端中实体类的公共(public)方法

java - 无法获得与 PostgreSQL 的 JDBC 连接

错误的 SQL 组 - "not a GROUP BY expression"

sql - oracle sql查询时间戳落在两个时间戳之间的记录

java - android.annotation 无法解析

sql - Oracle:为对象类型列指定默认值

java - android中fragment之间共享数据

java - 在单个 JFrame 上显示多个 JPanel 图像

java - 如何在java中从单个字符串创建集合<String>?

java - If语句与 boolean android