如果安装了Oracle Client x86,使用.Net访问oracle数据库会得到错误提示
System.InvalidOperationException: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 —> System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
解决办法,在安装了Oracle Client x86之后再安装Oracle Client x64
.Net就可以正常访问了。。。
但是PLSQL又不支持Oracle Client x64
如果修改注册表到Wow6432Node后PLSQL会报如下异常
Initialization error
Count not load "c:\oracle\product\10.2.0\client_2\bin\oci.dll:
OracleHomeKey : SOFTWARE\ORACLE\KEY_OraClient10g_home2
OracleHomeDir: c:\oracle\product\10.2.0\client_2
found: oci.dll
Using: c:\oracle\product\10.2.0\client_2\bin\oci.dll
LoadLibrary( c:\oracle\product\10.2.0\client_2\bin\oci.dll) return 0
———————————-
发现如果只安装x64的oracle,也会报告如下错误
查资料得知是 Machine.config 中的设置需要改变
修改为