64位应用服务与32位oracle client 调用错误

1、现象描述

小弟今天给客户部署软件,客户的服务器居是 windows server 2008(x64),装了 32位的oracle 客户端(服务端是另一服务器),小弟部署的是.net写的wcf,部署与iis7上

 

2、问题描述

在oracle 客户端的服务器上用sqlplus、pl/sql均能访问oracle,当用应用程序调用iis上的wcf时出现如下错误信息:

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

如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

3分析原因

wcf 置于iis 默认的连接池是64位不能调用32位oracle client接口

 

3、解决方法

方法一:部署与iis上的wcf程序的连接池启用32位即可

方法二:安装oracle client 64位/32位 两个版本(应用将会自动根据自身的位数调用相应oracle client 版本(x64或x84)接口)

 

参考资料:http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/10/19/system-data-oracleclient-requires-oracle-client-software-version-8-1-7.aspx

 

【小弟是菜鸟急需高手指点,只知其然,不知所以然】

posted on 2011-11-04 22:13  游弋的大虾米  阅读(1028)  评论(0编辑  收藏  举报