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

时间:2012-01-18 08:48:00

标签: java oracle dll jdbc 64-bit

我试图通过java程序建立与oracle的连接。以下是配置。

  1. Windows 7,64位。
  2. JDK 1.6
  3. Oracle客户端11g R2,64位。
  4. ojdbc6.jar在我的独立应用程序的类路径中。
  5. 但我得到以下例外 - “ java.lang.UnsatisfiedLinkError:\ bin \ ocijdbc11.dll:%1不是有效的Win32应用程序

    我用Google搜索了很多,但无法弄清楚解决方案。

    请帮我解决这个问题。

    提前致谢。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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