问题:尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
问题描述:在WIN7 64位操作系统上,用VS2010运行一个网站项目,在连接ORACLE数据库时出现上述错误。网上搜索了相关的帖子,大部分网友的问题是:在安装了32位ORACLE客户端的机器上调试程序时,连接服务器上64位ORACLE数据库,出现了上述的错误。我是安装了ORACLE 11gR2 32位版本的客户端,连接服务器上ORACLE 11gR2 64位版本数据库时,出现了上述问题。
问题解决过程:
之前因为32位PL/SQL连接64位数据库,已下载instantclient-basic-win32-10.2.0.5,
解压后复制到客户端安装目录E:\app\Administrator\product\目录下
并将系统环境变量Path中ORACLE相关的值由E:\app\Administrator\product\11.2.0\client_1\bin; 改为
E:\app\Administrator\product\instantclient_10_2;
这时项目启动出现错误:
ORA-12154: TNS:could not resolve the connect identifier specified
于是增加系统环境变量TNS_ADMIN,值为
E:\app\Administrator\product\11.2.0\client_1\network\admin
再次启动项目,已经可以连接数据库了。
备注:如果你的情况跟我一样,可以尝试下我的方法。