报错:
Attempt to load Oracle client libraries threw
BadImageFormatException. This problem will occur when running in 64 bit mode
with the 32 bit Oracle client components installed
环境:
客户端:windows 2008 操作系统 ;IIS 7 程序
服务端:windows 2008 操作系统 ;oracle 数据库版本 10.2.0.1 64bit
1 、IIS7 程序搭建为指定字符串的形式连接数据库。也就是tnsname.ora 中的字符串。
2 、应用程序池配置中,高级配置:
启用 32 位应用程序 True
解析:WOW64 模式下(windows on windows64 ),只加载32 位应用程序。 (这里我们也考虑使用 flase 模式,但是这样模式程序更通过不了)
这样问题就来了,我们客户端默认也是64 bit 的,但是我们应用程序只能启动32 位。然后用32 位应用程序去连接64 位的oracle 就出问题了。这个问题与32 位plsql 连接64bit oracle 的问题是一样的。
类似问题解释:
这里要提一下 plsql 连接 64bit oracle 的问题
因为目前 plsql 没有 64bit 的,只有 32 位。所以我们这里需要下载一个 32 位的 oracle client (instantclient_11_2) ,来配置新的 tnsname.ora ,已登录我们的 64bit 数据库。
解决方法:
1、 下载32 位客户端并配置。因为我们之前安装plsql 连接64bit ,就下载了32 位的客户端位置。
2、 配置环境变量:直接把这个32 位的目录位置,配置PATH 就OK 了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26442936/viewspace-734168/ ,如需转载,请注明出处,否则将追究法律责任。