【问题标题】:Database connection in ASP ClassicASP Classic 中的数据库连接
【发布时间】:2020-10-28 14:20:21
【问题描述】:

我有一个 2001 年的 ASP 经典页面。

我将数据库升级/迁移到了实际的 SQL Server 版本 (2016)。 我的问题是,当我尝试连接到数据库时,我总是收到一条错误消息,由于给定的用户,我无法连接到服务器。我在我的 SQL Server 上创建了一个用户,这是我想用于连接的用户,但它不起作用。

代码如下:

Provider=sqloledb;Data Source=localhost\SQLEXPRESS;Initial Catalog=LV; User ID=lvsupervisor;Password=analogis;

登录凭据正确。也许有人可以在这里帮助我。

【问题讨论】:

  • 检查 SQL Server 的日志,那里的错误是什么?不明白的就贴在这里吧。
  • 它说服务器只配置了windows认证,我该如何改变呢?
  • 发布了一个answer,证明了这一点不是在几个小时前。 :)
  • 谢谢,我试试看。
  • 成功了,谢谢!但是现在我收到一个错误,即我的用户没有 db_datareader 权限,即使我选中了 Sql Server 设置中“用户映射”下的复选框

标签: sql-server asp-classic


【解决方案1】:

ASP Classic 3 本身即使使用最新版本的MS SQL (2019) 也能顺利运行。

我的问题是,当我尝试连接到数据库时,我总是收到一条错误消息,因为给定的用户,我无法连接到服务器。

首先验证用户本身能够登录到 MS SQL Server。运行 MS SQL Management Studio 并尝试使用您拥有的用户凭据登录服务器。它有效吗?你能看到表格中的数据吗?

将数据库迁移到实际的 SQL Server 版本 (2016)

连接字符串:尝试不同的提供者,例如Provider=SQLOLEDB.1

【讨论】:

    【解决方案2】:

    删除您当前的 DSN 并使用“SQL Server 身份验证”而不是“Windows 身份验证”创建一个新的 DSN。创建一个具有管理员/读/写权限的新用户,并为新的 DSN 连接指定该帐户。为默认服务器使用 64 位 DSN,或者如果您为站点启用了 32 位应用程序,则必须使用 32 位 DSN 连接。然后你可以使用...

    strConnection = "DSN=ExampleName;DRIVER={SQL Server};UID=ExampleUser;PWD=ExamplePass"
    
    Set dbConnection = server.CreateObject("ADODB.Connection")
    dbConnection.ConnectionString = strConnection
    dbConnection.Open
    
    SQLFunction = "SELECT ID FROM Example Where CExample.Key = '" & strInputCom & "' "
        Set rsFunction = dbConnection.Execute(SQLFunction)
            if not rsFunction.EOF then
            strClientId = rsFunction("ID").value    
        else
            strClientId = ""
        end if              
        rsFunction.Close
        Set rsFunction = Nothing
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多