System.Data.OracleClient 不适用于 64 位 Oracle 客户端

jet*_*tty 5 .net c# oracle oracle10g oracle11g

我设计了一个 C# 应用程序来连接到 Oracle 数据库并更改架构用户密码。我的参考程序集是来自以下位置的 System.Data.OracleClient:“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\System.Data.OracleClient.dll”

我用来设计/测试应用程序的平台如下所示: 1. 64 位 Windows 7 平台。2. 32 位 .Net Frameworkv4.5 3. 32 位 Oracle 10g 客户端。

我也需要这个应用程序在 64 位 Oracle 客户端上运行。但是,当我将二进制文件传输到安装了 64 位 Oracle 11g 的计算机时,出现此错误:“尝试加载 Oracle 客户端库引发了 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时,将会出现此问题”。

我不知道如何解决这个问题。如果我需要进行任何代码更改或程序集参考,请提出建议。我浏览了很多类似的论坛,但找不到任何有用的东西。请帮忙!

Wer*_*eit 4

首先,ProviderSystem.Data.OracleClient已被弃用。Microsoft 不再支持它,您应该考虑使用 Oracle 提供程序Oracle.DataAccessOracle.ManagedDataAccess.

我的建议是在您的开发计算机上安装 32 位和 64 位 Oracle 客户端,然后您就可以测试和构建任何内容。以下是如何执行此操作的说明:在一台计算机上安装 x86 和 x64 Oracle 客户端

x86 Oracle 客户端可以连接到 64 位 Oracle 数据库,反之亦然。