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

当我在连接字符串中使用
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=remoteServerSQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"  

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

    cn.CommandTimeout = 900
    cn.Close
    Response.write("dfjslkfsl")
%>
我正在尝试连接的SQL Server(来自我在Windows 7上的IIS 7中的经典ASP页面)位于我使用VPN连接到的不同网络中的不同服务器上。 我通过从ODBC数据源管理员创建到所述Sql server 2008 R2(通过VPN连接)的sql本机客户端系统DSN连接来测试sql本机客户端。它成功连接。 这些快照来自我的Windows 7系统 Windows 7的 IIS 7 经典ASP页面(.asp)     
已邀请:
尝试将提供商更改为
sqlncli10
cn.Open "Provider=SQLNCLI10;Server=remoteServerSQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
也许你的机器名称不同。 :)     
对于仅安装了Visual Studio 2012的用户,可以使用
Provider=SQLNCLI11
,因为我在新安装的系统上无法使用
SQLNCLI10
cn.Open "Provider=SQLNCLI11;Server=remoteServerSQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
    
它可能与VPN事实有关。也许该应用程序充当不能访问VPN的不同用户。 尝试在IIS中关闭匿名身份验证和/或使应用程序池标识与您用于登录Windows 7计算机的用户相同,并查看是否可以解决问题。     
完美无缺:
"Provider=SQLNCLI;Server=xxxxxxxx;uid=sa;pwd=xxxxxx;database=xxxxxx;"
    

要回复问题请先登录注册