当我使用 Provider=SQLOLEDB
时,我能够连接到 SQL Server 2008 R2在我的连接字符串中。但是当我使用 Provider=SQLNCLI
在连接字符串中,我无法连接。
ADODB.Connection error '800a0e7a'
Provider cannot be found. It may not be properly installed.
/test.asp, line 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")
%>
我尝试连接的 SQL Server(来自 Windows 7 上的 IIS 7 中的经典 ASP 页面)位于我使用 VPN 连接的不同网络中的不同服务器上。
我通过从 ODBC 数据源管理员创建到上述 Sql server 2008 R2(通过 VPN 连接)的 sql native 客户端系统 DSN 连接来测试 sql native 客户端。并且连接成功。
这些快照来自我的 Windows 7 系统
最佳答案
尝试将提供商更改为 sqlncli10
:
cn.Open "Provider=SQLNCLI10;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
也许您的机器上的名称不同。 :)
关于sql-server-2008 - 无法使用 SQL Native Client (Windows 7 - IIS7) 从经典 ASP 连接到 SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216151/