"Can't load AMD 64-bit .dll on a IA 32-bit platform" Message When Using The Oracle THICK JDBC Driver With ODI
无法加载 IA 32 位平台上的 AMD 64-bit.dll"消息时使用 Oracle THICK JDBC 驱动程序的 ODI
适用情形
当以下消息时终止使用 Oracle THICK JDBC 驱动程序 (OCI) 与 Oracle 数据系统集成商 (ODI) 32 位操作系统上
java.lang.UnsatisfiedLinkError: F:\oracle\product\11.1.0\db_dw\BIN\ocijdbc11.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
无法加载 IA 32 位平台上的 AMD 64-bit.dll时发生的错误
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3159)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3155)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:233)
at oracle.jdbc.driver.PhysicalConnection.at oracle.jdbc.driver.T2CConnection.(T2CConnection.java:133)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
引起原因
32 位 JVM(Java虚拟机) 不能用于 64 位非 Java 软件
在目前情况下,Oracle 数据系统集成商 (ODI) 上运行 32 位操作系统系统 (Microsoft Windows 32 位平台),与 32 位 JVM,当Oracle 客户端软件 (OCI) 使用 64 位配置时
32 位 JVM 需要适当的 32 位库等 ;64 位 JVM也是
解决办法
在 32 位的操作系统,使用 Oracle 数据系统集成商 (ODI) 代理和 Oracle 软件 (OCI) 的 JVM 必须是 32 位
请确保计算机上安装了 Oracle 软件 32 位。如果没有请安装
如果计算机上安装了 32 位和 64 位软件,您可以通过修改 PATH 环境变量来解决32 位客户端目录在 64 位之前的问题
例如 如果路径存在于...;C:\Oracle11g_d\bin;c:\Oracle11g_d_32\bin;...
...;C:\Oracle11g_d\bin;c:\Oracle11g_d_32\bin;...
那就把路径改到...;C:\Oracle11g_d_32\bin;c:\Oracle11g_d\bin;...
...;C:\Oracle11g_d_32\bin;c:\Oracle11g_d\bin;...
在 ODI"odiparams.bat"的配置文件中,请确保 Java 参数"-d64"不使用
如果 ODI 代理设置为窗口服务,然后删除并重新创建 Windows 服务要考虑更改。
相关
产品
计算机中间件>商业智能> Oracle数据集成器(ODI)> Oracle数据集成器(ODI)
关键字
ODI; UNSATISFIEDLINKERROR; 32-BIT; ORACLE DATA INTEGRATOR; 64-BIT; OCI; THICK JDBC DRIVER
·