2012-01-18 83 views
6

我想通过Java程序连接到oracle。以下是配置。Java异常:java.lang.UnsatisfiedLinkError:ocijdbc11.dll:%1不是一个有效的Win32应用程序

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

但我得到以下exception- “java.lang.UnsatisfiedLinkError中:\ BIN \ ocijdbc11.dll:%1不是有效的Win32应用程序

我GOOGLE了很多,但没能找出解决方案。

请帮我解决这个问题。

在此先感谢。

+2

是你的jdk 64位?最有可能的是32位(来自错误消息) – Jayan

+0

好像你没有设置ORACLE_HOME环境变量指向你的oracle安装位置。 '\ bin \ ocijdbc11.dll'应该是'c:\ xxxxxx \ bin \ ocijdbc11.dll' –

+0

我同意@Jayan –

回答

1

此错误似乎与OCI驱动程序版本与Windows版本的兼容性有关。
检查您的OCI驱动程序是否与32位体系结构兼容,或者是否适用于64位(因此也是错误)。

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

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

0

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

0

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

相关问题