我将根据我刚刚在 64 位操作系统 Windows Server 2008 R2 上所经历的情况为您提供答案。我得到的应用程序套件是使用 .net 3.5 x86 和较旧的 DLL 库开发的,我被卡住了,因为我从 oracle 安装了较新的 x64 客户端。
我发现如下:从 Oracle 为 Windows Server 2008 安装最新的 x64 客户端。我相信这将是 2.7.0 客户端。选择安装时,请确保执行自定义并选择 .NET 库。配置您的 tnsnames 文件并针对您的数据源测试您的 tnsping。
接下来,如果您正在运行 32 位应用程序,请安装相同版本的 32 位客户端。此外,遵循相同的安装程序,并选择相同的家。
完成后,您会发现您有一个带有两个客户端目录(Client1 和 Client2)的应用程序/产品。
如果您导航到 windows/assemblies 目录,您会发现您有一个对 Oracle.DataAccess.dll (x2) 的引用,其中一个用于 x86,一个用于 AMD64。
现在,根据您是否有开发人员或自己在机器上进行开发,您可能在这里没问题,但是,如果他们使用的是较旧的驱动程序,那么您需要执行最后一步。
导航到 app\name\product\version\client_1\odp.net\publisher policy\2.x 目录。这里包括两个策略文件。使用 gacutil /i 将 Policy.2.111.Oracle.DataAccess.dll 安装到 GAC 中。这会将旧的 oracle ODP 调用重定向到较新的版本。因此,如果有人使用 10g 客户端开发,那么它现在可以使用 11 客户端。
如果您需要更多详细信息,或者需要回答其他问题,例如在您的 .net 程序集上打开或关闭 32 位模式,请给我发电子邮件。
J银行 jbanks27@hotmail.com
祝你好运。