尽管Oracle.DataAccess.dll存在,但无法找到它

Mik*_*yev 4 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文件夹,但我仍然得到了同样的错误.有人可以帮我解决这个问题吗?任何帮助是极大的赞赏

Cod*_*odo 11

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

  • 您的版本可能不匹配(2.111.7.20 vs 2.112.1.0 vs. 2.112.2.0).
  • 您可能在32位和64位之间存在不匹配.
  • .NET DLL可能存在,但找不到其中一个依赖项.

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

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

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

还有更多的事情可以做.但这些通常可以解决问题.