【问题标题】:ODBC DSN Connection Error - SQL Server 2014 Express Classic ASPODBC DSN 连接错误 - SQL Server 2014 Express Classic ASP
【发布时间】:2015-05-07 16:33:25
【问题描述】:

尝试使用 dsn 将经典的 asp 页面连接到 sql server express 2014。

我创建了一个名为warehouse 的新数据库(在sql server management studio 中),其中包含一个名为users 的表。我添加了一个名为 user1 的新登录名并带有密码并将其映射到 warehouse 数据库

我在同一台机器上创建了一个 ODBC 系统 DSN,使用名为 SQLServer2 的 sql server native client 11 驱动程序和集成的 Windows 身份验证,以及一个默认数据库 warehouse。此时测试连接工作正常!

在我正在使用的 ASP 页面上:-

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "dsn=SQLServer2;uid=user1;pwd=xyz;"

错误:- Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

[Microsoft][SQL Server Native Client 11.0][SQL Server]无法打开 登录请求的数据库“仓库”。登录失败。

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

如果有人能以我的方式提出任何想法,我将不胜感激。谢谢!

【问题讨论】:

    标签: sql-server asp-classic


    【解决方案1】:

    您描述 DSN 使用集成安全性问题的方式,因此您的凭据可能会被忽略,并且使用应用程序池身份调用数据库。

    如果您没有特定原因需要使用 DSN,我建议您使用如下连接字符串:

    objConn.Open "Provider=sqloledb;Server=yourdbserver;uid=user1;pwd=xyz;Database=warehouse"
    

    查看您的 SQL 服务器日志可能会提示您哪些用户实际上未能连接到您的数据库。

    【讨论】:

      【解决方案2】:

      我认为你应该这样做

      Set objConn = Server.CreateObject("ADODB.Connection")
      objConn.ConnectionString "dsn=SQLServer2;uid=user1;pwd=xyz;"
      objConn.open
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-30
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多