ODBC DSN连接错误 - SQL Server 2014 Express Classic ASP

时间:2015-05-07 16:33:26

标签: sql-server asp-classic

尝试使用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]无法打开   数据库"仓库"登录请求。登录失败。

我很确定它是一个权限问题,而且连接字符串是正常的,但是在经过数小时和数小时尝试不同的字符串,不同的用户之后,我似乎无法连接该死的东西

如果任何人都可以按我的方式提出任何想法,我将非常感激。谢谢!

2 个答案:

答案 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