繁体   English   中英

Java 异常:java.lang.UnsatisfiedLinkError:ocijdbc11.dll:%1 不是有效的 Win32 应用程序

[英]Java Exception : java.lang.UnsatisfiedLinkError: ocijdbc11.dll: %1 is not a valid Win32 application

我正在尝试通过 java 程序连接到 oracle。 以下是配置。

  1. Windows 7,64 位。
  2. JDK 1.6
  3. Oracle 客户端 11g R2,64 位。
  4. ojdbc6.jar 在我的独立应用程序的 class 路径中。

但我收到以下异常 - “ java.lang.UnsatisfiedLinkError:\bin\ocijdbc11.dll:%1 不是有效的 Win32 应用程序

我用谷歌搜索了很多但无法找出解决方案。

请帮我解决这个问题。

提前致谢。

此错误似乎与OCI驱动程序版本与Windows版本的兼容性有关。
检查您的OCI驱动程序是否与32位架构兼容,否则是64位(因此错误)。

在这里(https://forums.oracle.com/forums/thread.jspa?threadID=2189215)你可以找到一个密切相关的错误(相同的错误,对于不同的库),最后修复了下载SO特定版本的库并重新安装它。

编辑 :所以,在您的版本之后,似乎您必须安装64位JDK并在其上运行您的应用程序,因为您的驱动程序和您的操作系统是对齐的(64位)。

这个错误只发生在Windows上,解决只是将你的dll复制到C:\\ Windows \\ System32,它对我有用!

首先,您应该安装 64 位的 Oracle 客户端 12。 其次,将 ocijdbc11.dll 复制到 JDK--> inside bin 文件夹以及 C:\Windows\System32 文件夹。

这应该可以工作。

此错误也可能来自64位版本的Java 7并使用32位Oracle驱动程序。 我使用的应用程序应该使用32位Java 6,但是管理员安装了Java 7,这显然导致了这个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM