【问题标题】:Implementing Oracle.Web.dll, Oracle.DataAccess.dll 64-bit failed on Windows Server 2008 with IIS 7.5 32-bit disabled在禁用 IIS 7.5 32 位的 Windows Server 2008 上实施 Oracle.Web.dll、Oracle.DataAccess.dll 64 位失败
【发布时间】:2015-06-16 17:01:15
【问题描述】:

使用此环境成功测试我的 MVC4 程序后

我尝试使用不允许 32 位应用程序的 IIS 将其发布到 64 位 Windows 2008 Server,然后我开始遇到异常:找不到引用的 dll 的依赖项!

我尝试了互联网可以给我的所有建议,包括修改 web.config 以反映他们的 dll 在部署到服务器 win 2008 上使用提示符上的全局缓存 cmd!

但没有任何效果。 32 位可以工作,但 64 位完全坏了!

【问题讨论】:

    标签: asp.net-mvc-4 oracle11g iis-7.5 32bit-64bit windows-server-2008-r2


    【解决方案1】:

    首先,我不再搞乱 web.config。然后,我在我的 Windows 2008 服务器上重新安装了 Oracle 11g 64。最后,我将 ODAC 放在 11gx64 的安装之上。成功的关键是找到正确的 ODAC 以匹配您系统上的 Oracle 版本。

    http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html

    要验证您在 oracle 11 g 上正确安装了正确的 ODAC,您必须查看 [asp.net] 和 [ODP.net] 目录,以确保它们在每个 bin 中都有 2.x 和 4 的目录及其存在于全局缓存 64 中。

    在解决 ODAC 安装问题后,我开始尝试使用 oracle 客户端 dll。我将 Oracle.DataAccess.dll(64 位)从 bin [2.x] 复制到我的应用程序的编译 bin 中,只是为了看到我的程序仍然崩溃,同样的抱怨是它找不到依赖的 DLL。然后我从 bin [4] 复制了 Oracle.DataAccess.dll,然后一切正常!!

    现在剩下的问题是为什么 4.112.4 not found in register cache GAC_64 运行良好,但在 GAC_64 中注册的 dll 集破坏了程序?不禁感到困惑。

    查看工作 dll 的结果视图 ==>

    如果您获得了我在本例中展示的所有这些屏幕,那么您的 MVC4 应用程序应该会在 Oracle 11 g 64 位客户端上飞得更高!祝你好运!我会和你分享我的!

    【讨论】:

    • 我在 2008 R2 服务器上遇到了同样的问题。其他在线建议都没有帮助。从 Oracle 网站获取 64 位 Oracle.DataAccess.dll 文件似乎确实有所帮助。
    • 但是,虽然它现在似乎可以连接,但我收到一条错误消息? “'oracle.dataaccess.client.oracleconnection' 的类型初始化程序引发了异常”
    • 由于某种原因,我所有插入的 .jpg 都消失了,这对答案至关重要。我已经重新编辑了答案,把重要的图片放回去了。希望你能清楚地看到它们来回答你的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2010-11-19
    • 2011-06-10
    • 2012-09-30
    • 2013-01-04
    相关资源
    最近更新 更多