2009-02-15 87 views
3

我的客户端有一个x64服务器,他安装了x32和x64版本的Oracle客户端。他安装了我的web应用程序并试图运行它后,他得到了“试图加载程序的格式不正确(HRESULT 0x8007000B)”异常有关Oracle.DataAccess.dllOracle客户端x32和x64共存

他的IIS配置为64位。

I事件让他添加< < assemblyBinding >>在web配置文件中的Oracle.DataAccess.dll上重定向processorArchitecture =“amd64”属性,但它没有帮助。

如何强制我的应用程序/他的IIS /他的服务器选择正确版本的Oracle客户端?

回答

4

显然,32位和64位的Oracle安装程序无法相互识别,所以如果您首先安装32位版本,然后安装64位版本,64位版本将默认安装到与32位版本相同的目录中。这不好。解决方案是删除两个客户端,然后将32位安装到一个目录中,将64位安装到另一个目录中。

0

您是否尝试过为IIS进程设置PATH环境变量以仅包含64位二进制文​​件?

这在许多方面都不是一个令人愉快的解决方案(特别是对于IIS等服务和托管运行时),但是如果它有效,它会给你一些选择来考虑。