【问题标题】:MSDAORA provider not found for asp.net site未找到 asp.net 站点的 MSDAORA 提供程序
【发布时间】:2014-05-25 04:59:48
【问题描述】:

我在 Windows Server 2003 x64 (IIS 6) 上遇到了奇怪的 Oracle 连接错误

代表管理员运行的控制台 .Net 应用程序通过 OleDb 成功连接到 Oracle 10g Express [连接字符串类似于:Provider=MSDAORA;Data Source=server-ip:port;User Id=user;Password=password;]

ASP.NET 4.0 网站(应用程序池也代表管理员运行)失败并出现错误: 'MSDAORA' 提供程序未在本地计算机上注册

连接字符串是相同的,但它不适用于 asp.net 站点。我要检查什么?

提前感谢您!

【问题讨论】:

    标签: asp.net oracle database-connection oledb


    【解决方案1】:

    Social.MSDN 链接似乎表明您已安装 x86 驱动程序;

    在我看来,您有两种选择:

    1. 将应用程序转换为在 IIS 中以 32 位模式运行 - 如果您需要帮助,可以提供帮助。 LINK
    2. 下载并试用 64 位版本的驱动程序。 Oracle x64 downloads

    【讨论】:

      【解决方案2】:

      另一种方法是使用enable 32-bit applications 获取您的应用程序正在使用的 IIS 应用程序池。我会建议 creating a new application pool 专门用于您的应用程序,确保启用 32 位应用程序。

      您可能会遇到性能问题,但至少可以正常运行。

      【讨论】:

        【解决方案3】:

        我已经在我的一个应用程序中使用 ASP(MSDAORA 连接)解决了这个问题 - 具有以下修复的 oracle 环境 http://technet.microsoft.com/en-us/library/cc784046.aspx

        以下是步骤

        使 IIS 6.0 能够在 64 位 Windows 上运行 32 位应用程序 1.打开命令提示符并导航到 %systemdrive%\Inetpub\AdminScripts 目录。

        2.键入以下命令:

        cscript.exe adsutil.vbs 设置 W3SVC/AppPools/Enable32BitAppOnWin64 为真

        3.按 ENTER。

        【讨论】:

          猜你喜欢
          • 2011-08-21
          • 1970-01-01
          • 2014-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-16
          • 1970-01-01
          • 2012-09-03
          相关资源
          最近更新 更多