asp.net - Oracle.DataAccess.dll 虽然存在但无法定位

标签 asp.net oracle

当我在 IIS 7.5(Windows Server 2008 R2 x64)上浏览在 Visual Studio 2008 中开发的 ASP.Net 应用程序时,我收到配置错误,指出无法找到 Oracle.DataAccess, Version=2.111.7.20 文件。我已经安装了包含该文件的 Oracle Data Provider for .NET。当我设置 ODP.net 时,它将 dll 文件放入 c:\app....\odp.net\PublisherPolicy 文件夹。我只是为了以防万一也将这些文件复制到 C:\Windows\Microsoft\Framework 文件夹,但我仍然遇到相同的错误。有人可以帮我解决这个问题吗?任何帮助是极大的赞赏

最佳答案

ODP.NET 安装可能非常棘手。有很多事情可能会出错:

  • 您可能会遇到版本不匹配(2.111.7.20 与 2.112.1.0 与 2.112.2.0)。
  • 32 位和 64 位之间可能不匹配。
  • .NET DLL 可能存在,但未找到依赖项之一。

  • 首先尝试检查 32/64 位不匹配。在 IIS 中,您可以配置您的 Web 应用程序以 32 位还是 64 位运行。要检查它,请查看任务管理器并查看 w3wp.exe 进程是否具有 *32 标记。然后转到文件资源管理器中的 C:\Windows\Assembly。这是一个显示 GAC 的特殊 View 。如果它在 Oracle.DataAccess 行的最后一列中显示 x86,则它是 32 位。如果它说 AMD64,那么它就是 64 位。

    在同一行,您还会找到确切的版本号。在VisualStudio中检查ASP.NET项目是否使用相同的。

    如果我没记错的话,Oracle.DataAccess.dll 的主要依赖项是 OraOps11w.dll ,它应该在 Oracle 客户端目录的 BIN 目录中可用。该目录通常通过注册表 ( HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ) 找到。确保查看正确位数的注册表(32 位与 64 位)。

    还有更多的东西可以去。但是这里的这些通常可以解决问题。

    关于asp.net - Oracle.DataAccess.dll 虽然存在但无法定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531475/

    相关文章:

    javascript - 使用asp.net创建的js或jquery读取cookie

    oracle - 在 Oracle 中使约束可延迟

    sql - 数据库设计 : replace a boolean column with a timestamp column?

    sql - 返回具有另一个值的所有字段的 SQL 值 - 如果存在另一个值

    mysql - 向表中添加或删除列会强制重新创建所有索引吗?

    c# - Umbraco 中的母版页

    asp.net - 浏览器不设置cookie

    c# - 将文本转换为日期时间?

    c# - 如何在 Web Api Odata 中将对象(实体)作为参数传递

    sql - SQL INSERT 能否在 PL/SQL 中不引发异常的情况下失败