尝试使用dsn将经典的asp页面连接到sql server express 2014。
我创建了一个名为warehouse
的新数据库(在sql server management studio中),其中包含一个名为users
的表。我添加了一个名为user1
的新登录名,其中包含密码并将其映射到warehouse
数据库
我使用带有集成Windows身份验证的名为SQLServer2
的sql server native client 11驱动程序和默认数据库warehouse
在同一台计算机上创建了ODBC系统DSN。此时测试连接工作正常!
在ASP页面上,我使用: -
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "dsn=SQLServer2;uid=user1;pwd=xyz;"
错误: - Microsoft OLE DB Provider for ODBC Drivers错误' 80040e4d'
[Microsoft] [SQL Server Native Client 11.0] [SQL Server]无法打开 数据库"仓库"登录请求。登录失败。
我很确定它是一个权限问题,而且连接字符串是正常的,但是在经过数小时和数小时尝试不同的字符串,不同的用户之后,我似乎无法连接该死的东西
如果任何人都可以按我的方式提出任何想法,我将非常感激。谢谢!
答案 0 :(得分:0)
您描述问题的方式是DSN使用集成安全性,因此可能会忽略您的凭据并使用应用程序池标识调用数据库。
如果您没有具体原因需要使用DSN,我建议您使用如下连接字符串:
objConn.Open "Provider=sqloledb;Server=yourdbserver;uid=user1;pwd=xyz;Database=warehouse"
查看SQL服务器日志可能会提示您哪个用户实际上无法连接到您的数据库。
答案 1 :(得分:0)
我认为你应该做这样的事情
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString "dsn=SQLServer2;uid=user1;pwd=xyz;"
objConn.open