博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

尝试加载Oracle客户端库时引发BadImageFomatException

Posted on 2011-09-18 11:22  gczhao  阅读(6702)  评论(1编辑  收藏  举报

本文转自:http://hi.baidu.com/plummoon/blog/item/5c3fe9dd025459e376c63839.html

 

 

 

在Windows Server 2008 IIS 应用进程池中配置-常规-启用32位应用程序-True,结果出现如下异常:

异常:尝试加载Oracle客户端库时引发BadImageFomatException。如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题

解决方法如下:

实际上,System.Data.OracleClient所指向的是PATH环境变量下的oci.dll。因此,我们只要让程序能够找到64位的oci.dll就可以了。方法如下:

1. 下载instantclient-basic-win-x86-64-11.1.0.7.0.zip,并解压,如C:\instantclient-basic-win-x86-64-11.1。

2. 在系统的环境变量PATH中加入以上路径。

之后重启操作系统,程序会依照PATH路径寻找oci.dll,如果遇到32位的oci.dll会自动略过,找到64位的oci.dll就能连接上数据库了。

另附上10.2.0.4的链接:

http://download.oracle.com/otn/nt/instantclient/10204/instantclient-basic-win32-10.2.0.4.zip

感谢:http://www.cnblogs.com/dflower/archive/2009/11/02/1594694.html