使用SQL Native Client无法从Classic ASP连接到SQL Server 2008 R2(Windows 7 - IIS7)

Ism*_*ilS 11 connection iis-7 asp-classic sql-server-2008 sql-server-native-client

当我Provider=SQLOLEDB在连接字符串中使用时,我能够连接到SQL Server 2008 R2 .但是当我Provider=SQLNCLI在连接字符串中使用时,我无法连接.

ADODB.Connection错误'800a0e7a'

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

/test.asp,第7行

编写的代码test.asp如下

<%
    Set cn = Server.CreateObject("ADODB.Connection")

    'Doesn't work
    cn.Open "Provider=SQLNCLI;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"  

    'Works Perfectly
    'cn.Open "Provider=SQLOLEDB;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;" 

    cn.CommandTimeout = 900
    cn.Close
    Response.write("dfjslkfsl")
%>
Run Code Online (Sandbox Code Playgroud)

我正在尝试连接的SQL Server(来自我在Windows 7上的IIS 7中的经典ASP页面)位于我使用VPN连接的不同网络中的不同服务器上.

我通过从ODBC数据源管理员创建到所述Sql server 2008 R2(通过VPN连接)的sql本机客户端系统DSN连接来测试sql本机客户端.它成功连接.

这些快照来自我的Windows 7系统 Appwiz.cpl snap

IIS 7功能

在此输入图像描述

  • Windows 7的
  • IIS 7
  • 经典ASP页面(.asp)

Sha*_*ard 15

尝试将提供商更改为sqlncli10:

cn.Open "Provider=SQLNCLI10;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
Run Code Online (Sandbox Code Playgroud)

也许你的机器名称不同.:)