3

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

他的 IIS 配置为 64 位。

我事件要求他在 Web 配置中的 Oracle.DataAccess.dll 上添加带有 processorArchitecture="amd64" 属性的 << assemblyBinding>> 重定向,但它没有帮助。

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

4

2 回答 2

4

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

于 2009-02-18T20:23:31.660 回答
0

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

这在许多方面都不是一个令人愉快的解决方案(尤其是对于服务和托管运行时,如 IIS),但如果它有效,它会给您一些可供考虑的选项。

于 2009-02-15T15:15:45.060 回答