无法打开登录请求的数据库“ABC”。登录失败

Posted

技术标签:

【中文标题】无法打开登录请求的数据库“ABC”。登录失败【英文标题】:Cannot open database "ABC" requested by the login. The log in failed 【发布时间】:2013-04-14 17:40:33 【问题描述】:

我正在使用以下代码通过 VBA 连接到 SQL 并在标题处收到错误

 ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection

    ' Provide the connection string.
    Dim dbms As String
    Dim strConn As String

   ' Specify the OLE DB provider.
    cnPubs.Provider = "SQLNCLI"

    'Set SQLOLEDB connection properties.
    cnPubs.Properties("Data Source").Value = Worksheets(1).Range("B3")
    cnPubs.Properties("Initial Catalog").Value = Worksheets(1).Range("B4")

    ' Windows NT authentication.
    cnPubs.Properties("Integrated Security").Value = "SSPI"

    'Now open the connection.
    cnPubs.Open 

我之前在使用 SQL 身份验证时没有遇到任何问题,因为我可以指定用户名和密码。现在我需要使用 Windows 身份验证,但出现错误。

我认为问题出在我选择 Windows 身份验证时用户名的自动填充 在 SQL 登录时。与 SQL 登录页面交叉引用 服务器类型:数据库引擎 服务器名称:服务器\数据库 身份验证:Windows 身份验证 锁定选择: 用户名:NT.COMPANY.COM\用户名 密码:

有人知道我如何登录到 Server\Database 吗?

【问题讨论】:

【参考方案1】:

您遇到的错误可能是由以下两种情况之一引起的:

    您尝试打开的数据库不存在 您使用的帐户未被授予访问数据库的权限

因为您说连接到数据库可以使用 SQL 身份验证,所以您很可能会遇到 2。要解决此问题,您需要向您的 Windows 登录授予对该数据库的访问权限。

【讨论】:

感谢您的帮助。我可以在我的计算机上使用 Windows 身份验证进行访问,但是当我尝试通过 VBA 时出现错误。使用 VBA 时是否有特定的方法来获得访问权限? 你能贴出你用来设置cnPubs属性的值吗?您还可以发布您遇到的确切错误吗? 嗨。感谢您帮助我解决了问题。问题不在于连接,而在于给我的数据库名称错误。

以上是关于无法打开登录请求的数据库“ABC”。登录失败的主要内容,如果未能解决你的问题,请参考以下文章

实体框架无法打开登录请求的数据库 - 用户登录失败

无法打开登录请求的数据库“”。登录失败。用户“sa”登录失败

无法打开登录请求的数据库“ASPNETDB”。登录失败。用户 'Philip-Desktop\Philip' 登录失败

无法打开登录请求的数据库 MyDB。登录失败。用户“myUser”的登录失败

用户 '' 登录失败,无法打开登录请求的数据库“Database1.mdf”。登录失败。用户 'rBcollo-PC\rBcollo' 登录失败

新建sql注册提示无法打开用户默认数据库 登录失败,怎么解决