连接到本地 SQL Server 数据库的问题

Posted

技术标签:

【中文标题】连接到本地 SQL Server 数据库的问题【英文标题】:Issues Connecting to Local SQL Server database 【发布时间】:2020-03-02 23:42:17 【问题描述】:

我一直在尝试连接到通过 Excel VBA 创建的本地 SQL Server,但遇到了问题。

我可以使用 Excel 中的“获取数据”功能连接到数据库,并在服务器中输入 (Local DB)\MSSQLLocalDB

但是,当我尝试使用 VBA 进行连接时,它无法使用 Windows 身份验证。有任何想法吗?

这是我使用的字符串:

strConnString = "Provider=SQLOLEDB;Data Source=(LocalDB)\MSSQLLocalDB;Integrated Security=SSPI"

我得到的错误是

运行时错误'2147467259 (80004005)'

[DBNETLIB][ConnectionOpen (Connect()).]

SQL Server 不存在或访问被拒绝。

【问题讨论】:

【参考方案1】:

我就是这样用的,测试一下。 TEST 是数据库名称。

con.ConnectionString = "Provider=SQLOLEDB.1;" _
         & "Server=(local);" _
         & "Database=TEST;" _
         & "Integrated Security=SSPI;" _
         & "DataTypeCompatibility=80;"

【讨论】:

【参考方案2】:

试试这个方法。

Sub ADOExcelSQLServer()
     ' Carl SQL Server Connection
     '
     ' FOR THIS CODE TO WORK
     ' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library
     '

    Dim Cn As ADODB.Connection
    Dim Server_Name As String
    Dim Database_Name As String
    Dim User_ID As String
    Dim Password As String
    Dim SQLStr As String
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset

    Server_Name = "Your_Server_Name" ' Enter your server name here
    Database_Name = "NORTHWND" ' Enter your database name here
    User_ID = "" ' enter your user ID here
    Password = "" ' Enter your password here
    SQLStr = "SELECT * FROM [Customers]" ' Enter your SQL here

    Set Cn = New ADODB.Connection
    Cn.Open "Driver=SQL Server;Server=" & Server_Name & ";Database=" & Database_Name & _
    ";Uid=" & User_ID & ";Pwd=" & Password & ";"

    rs.Open SQLStr, Cn, adOpenStatic
     ' Dump to spreadsheet
    For iCols = 0 To rs.Fields.Count - 1
        Worksheets("Sheet1").Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
    Next
    With Worksheets("sheet1").Range("a2:z500") ' Enter your sheet name and range here
        '.ClearContents
        .CopyFromRecordset rs
    End With
     '            Tidy up
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
End Sub

【讨论】:

以上是关于连接到本地 SQL Server 数据库的问题的主要内容,如果未能解决你的问题,请参考以下文章

Windows Azure 上的 WCF 服务 - 连接到本地 SQL Server 数据库

pentaho 本地和远程连接到 sql server

c# winform程序怎么连接到本地sqlserver 数据库啊

如何使用ODBC数据连接连接到本地SQL Server? (我得到“登录失败”)

如何将我托管的 php 网站连接到本地服务器上的 SQL Server 数据库

如何使用 API 将我的 Flutter 应用程序连接到本地 sql server 数据库?