【发布时间】:2019-05-26 10:16:18
【问题描述】:
我在 Visual Studio 2010 中构建应用程序。我使用了 Oracle Data Access 。 dll 版本 2.112.1.0 。在我为 oracle 12.2 和 oracle 客户端 11g 64 位版本重新安装 Toad 之前,一切正常。因此,我现在运行应用程序,并且只要运行 Oracle 命令,它就会给我“无法加载文件或程序集 'Oracle.DataAccess' 或其依赖项之一。尝试加载格式不正确的程序”如果我在 IIS 中将启用应用程序设置为 32 位 True。 OR Oracle.DataAccess.Client.OracleException:如果我将启用应用程序设置为 32 位为 false,则提供程序与 Oracle 客户端的版本不兼容。
另外在注册表中,我有 ODP.NET 版本 2.112.1.0 注册了正确的 dll 路径 C:\Oracle\product\11.2.0\client_1\BIN
所以我需要重新安装oracle客户端才能使用Oracle数据访问dll版本2.112.1.0
【问题讨论】:
-
在一台机器上安装多个实例时,我总是遇到 Oracle 问题。我希望甲骨文能更好地处理这个问题。如果它在您尝试
Oracle.DataAccess的32 位版本时抱怨provider not compatible,我会尝试查看它是否适用于Oracle.DataAccess的64 位版本,因为您安装了oracle 客户端64 位版本。您可以在重新安装 Toad 时安装的主Oracle文件夹内的ODP.NET文件夹中的某个位置找到这两个版本。 -
遇到了一个类似的问题,解决方案是授予对 oracle 文件夹的读写访问权限。
-
我已尝试使用 GAC64 中的 oracle 数据访问 .dll v 2.112.1.0 并指出它。但仍然是同样的问题。但我看到我的 VS 2010 是 32 位应用程序。那么我需要安装 32 位客户端以兼容 oracle 数据访问 .dll v 2.112.1.0 吗?
标签: c# visual-studio-2010 oracle11g registry