【问题标题】:Oracle Data Access issue from VS 2010VS 2010 中的 Oracle 数据访问问题
【发布时间】: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


【解决方案1】:

对于 .Net 应用程序,我们遇到了同样的问题,并选择了 Oracle 的托管提供程序。我们使用的版本是 Oracle Data Provider for .NET, Managed Driver 12.1.0.1.0,但您应该在下面的链接中找到相同的版本。

https://www.oracle.com/technetwork/topics/dotnet/index-085163.html

1) 继续下载 ODP.NET 托管驱动程序(xcopy 版本)并解压缩。 2) 浏览到 odp.net\managed\common 并选择 Oracle.ManagedDataAccess.dll 作为 VS2010 中的参考

希望上述步骤应该适用于 VS。

在服务器上部署期间,请确保它们从 zip 文件夹中运行以下命令,以便正确完成配置

对于 32 位 .NET 框架:.\odp.net\managed\x86 对于 64 位 .NET Framework:.\odp.net\managed\x64

【讨论】:

  • 我仍然得到错误。我也安装了 oracle.dll 版本 2.112.1.0 和 oracle 客户端。我也有 odp.net 在注册表中。 'Oracle.DataAccess.Client.OracleCommand' 引发了异常。 ---> Oracle.DataAccess.Client.OracleException: 提供者与Oracle客户端版本不兼容
猜你喜欢
  • 2014-11-01
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多