2

我有一个在 Windows Server 2003 和 IIS 6.0 上运行良好的 ASP 站点。我迁移到 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=协助 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 微软公司 SQLSRV32.DLL

我已将我的应用程序池启用为 32 位,并将托管管道启用为经典。

4

2 回答 2

0

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

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

  • SQLNCLI     - 对于 SQL Server 2005
  • SQLNCLI10- 对于 SQL Server 2008
  • SQLNCLI11- 对于 SQL Server 2012
于 2014-11-05T20:12:07.217 回答
0

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

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

谢谢大家的时间。

于 2014-11-07T14:38:04.480 回答