从IIS 6.0迁移到IIS 8.5后,“找不到提供程序”错误

时间:2014-11-05 12:41:55

标签: vbscript asp-classic oledb iis-8.5 sqlncli

我有一个ASP站点,在Windows Server 2003& IIS 6.0。 我迁移到Windows Server 2012 R2 IIS 8.5

我在尝试连接数据库时遇到错误:

  

无法找到提供商。它可能没有正确安装

     

错误详情:
  2014-11-05 10:33:06 10.30.62.21 POST _main.asp | 50 | 800a0e7a | Provider_cannot_be_found._It_may_not_be_properly_installed。 80 - XX.XX.XX.XX Mozilla / 4.0 +(兼容; + MSIE + 7.0; + Windows + NT + 6.1; + WOW64; + Trident / 5.0; + SLCC2; +。NET + CLR + 2.0.50727; + .NET + CLR + 3.5.30729; +。NET + CLR + 3.0.30729; +。NET4.0C; +。NET4.0E; +。NET + CLR + 1.1.4322; + InfoPath.3)/bottomright.asp ?sAction = assist 500 0 0 1859

我的连接字符串如下:

GetConnectionString = "Provider=SQLNCLI.1;Data Source=" & m_DALServer & _
                      ";User Id=user;Password=pwd;Connect Timeout=3;"

我检查了新服务器(2012)上的ODBC数据源管理员(32位),并在下面找到了两个相关的驱动程序

  1. SQL Native Client 2005.90.4035.00 Microsoft Corporation SQLNCLI.DLL
  2. SQL Server 6.03.9600.163.84 Microsoft Corporation SQLSRV32.DLL
  3. 我已将我的应用程序池启用为32位,将托管管道启用为Classic。

2 个答案:

答案 0 :(得分:0)

尝试SQLCNCLISQLOLEDB作为您的数据提供者 这些都是OLEDB个驱动程序,而不是ODBC

以下是来自http://www.connectionstrings.com/sql-server/的每个SQL版本的连接字符串列表:

  • SQLNCLI - 适用于SQL Server 2005
  • SQLNCLI10 - 适用于SQL Server 2008
  • SQLNCLI11 - 适用于SQL Server 2012

答案 1 :(得分:0)

技术支持团队安装的一些驱动程序。哪些司机我不确定。但是由于补丁,我在ODBC源中看到 SQL Server Native Client 10 ,我的问题在没有任何代码更改的情况下得到了解决。

如果任何有相同问题的人请检查服务器上是否安装了正确的驱动程序。您还可以通过转到ODBC源(32位)进行验证,并检查SQL Server Native Client 10是否可用。

谢谢大家的时间。