未找到asp.net网站的MSDAORA提供商

时间:2011-09-29 07:19:37

标签: asp.net oracle database-connection oledb

我在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站点。我该怎么检查?

提前谢谢!

3 个答案:

答案 0 :(得分:2)

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

从我的观点来看,你有两个选择:

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

答案 1 :(得分:1)

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

你可能会遇到性能问题,但至少你会出现并运行。

答案 2 :(得分:0)

我已经在我的一个应用程序中使用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。