1

我正在使用以下代码通过 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 身份验证,但出现错误。

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

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

4

1 回答 1

1

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

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

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

于 2013-04-14T19:23:50.980 回答