"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
Symptoms
适用情形
The following message is signaled when using the Oracle THICK JDBC driver (OCI) with Oracle Data Integrator (ODI) on a 32-bit Operating System:
当以下消息时终止使用 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)
Cause
引起原因
A 32-bit JVM cannot be used with 64-bit non-Java software.
32 位 JVM(Java虚拟机) 不能用于 64 位非 Java 软件
In present case, Oracle Data Integrator (ODI) is running on a 32-bit Operating System (Microsoft Windows 32-bit platform), with a 32-bit JVM, while the Oracle client software (OCI) is using a 64-bit configuration.
在目前情况下,Oracle 数据系统集成商 (ODI) 上运行 32 位操作系统系统 (Microsoft Windows 32 位平台),与 32 位 JVM,当Oracle 客户端软件 (OCI) 使用 64 位配置时
A 32-bit JVM requires the appropriate 32-bit libraries, etc; the same requirement exists for a 64-bit JVM.
32 位 JVM 需要适当的 32 位库等 ;64 位 JVM也是
Solution
解决办法
The Operating System being a 32-bit, both the
JVM used by the Oracle Data Integrator (ODI) Agent, and
the Oracle software (OCI)
must be 32-bit:
在 32 位的操作系统,使用 Oracle 数据系统集成商 (ODI) 代理和 Oracle 软件 (OCI) 的 JVM 必须是 32 位
Make sure Oracle software 32-bit is installed on the machine. Please install if missing.
请确保计算机上安装了 Oracle 软件 32 位。如果没有请安装
If both 32-bit and 64-bit software are installed on the machine, you can solve the problem by modifying the PATH environment variable so that the 32-bit Client directory comes before the 64-bit one.
如果计算机上安装了 32 位和 64 位软件,您可以通过修改 PATH 环境变量来解决32 位客户端目录在 64 位之前的问题
For example, if the PATH is set to:
例如 如果路径存在于...;C:\Oracle11g_d\bin;c:\Oracle11g_d_32\bin;...
...;C:\Oracle11g_d\bin;c:\Oracle11g_d_32\bin;...
then switch to:
那就把路径改到...;C:\Oracle11g_d_32\bin;c:\Oracle11g_d\bin;...
...;C:\Oracle11g_d_32\bin;c:\Oracle11g_d\bin;...
In the ODI "odiparams.bat" configuration file, make sure that the Java parameter "-d64" is not used.
在 ODI"odiparams.bat"的配置文件中,请确保 Java 参数"-d64"不使用
If the ODI Agent is set as Window Service, then delete and re-create the Windows Service to take the changes into consideration.
如果 ODI 代理设置为窗口服务,然后删除并重新创建 Windows 服务要考虑更改。
Related
相关
Products
产品
Middleware > Business Intelligence > Oracle Data Integrator (ODI) > Oracle Data Integrator
计算机中间件>商业智能> Oracle数据集成器(ODI)> Oracle数据集成器(ODI)
Keywords
关键字
ODI; UNSATISFIEDLINKERROR; 32-BIT; ORACLE DATA INTEGRATOR; 64-BIT; OCI; THICK JDBC DRIVER
·