SQL Server 2014 Express(VBA)的连接字符串

4

我想了解如何通过VBA连接SQL Server所需的连接字符串。

这是我目前拥有的代码,

Sub ConnectSqlServer()

    Dim conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sConnString As String

    ' Create the connection string.
    sConnString = "Provider=SQLOLEDB;Data Source=INSTANCE\SQLEXPRESS;" & _
              "Initial Catalog=MyDatabaseName;" & _
              "Integrated Security=SSPI;"

                ' Create the Connection and Recordset objects.
                Set conn = New ADODB.Connection
                Set rs = New ADODB.Recordset

                ' Open the connection and execute.
                    conn.Open sConnString


                      'Do my stuff here


                    If CBool(conn.State And adStateOpen) Then conn.Close
                Set conn = Nothing
                Set rs = Nothing

End Sub

问题是我不知道要在连接字符串中放什么。我的完整文件路径如下。
C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\Staff_Manager.mdf

有人能告诉我需要与之配合的内容吗?

该内容涉及IT技术,下面是需要翻译的内容。
"Provider"
 "Source"
 "Initial Catalog"

谢谢。

请参阅 Lesson 2: Specifying Connection Information 获得平行信息。 - user4039065
是的,我对SQL Server还很陌生,那个链接基本上就是我遇到的问题。 - user1452705
1
提供程序应该没问题,Data Source 需要是服务器名称,而 Initial Catalog 则是您想连接的实际数据库的名称。 - Rory
2个回答

17
请查看此链接。

http://www.connectionstrings.com/

另外,可以查看这个示例脚本,对我来说完美地运行。

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 = "EXCEL-PC\EXCELDEVELOPER" ' Enter your server name here
    Database_Name = "AdventureWorksLT2012" ' Enter your database name here
    User_ID = "" ' enter your user ID here
    Password = "" ' Enter your password here
    SQLStr = "SELECT * FROM [SalesLT].[Customer]" ' 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
    With Worksheets("sheet1").Range("a1: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

我已经解决了,我没有正确命名服务器。 - user1452705
我不知道我的服务器名称是什么... 我在我的电脑上安装了SQL Server Express 2008... 我应该在哪里找到服务器名称... - Jing He

0

服务器名称 = 在双引号中输入您的服务器名称或服务器IP,例如"192.168.0.89,1433"(SQL SERVER的情况下)

服务器名称是您在安装时输入的名称或尝试使用的名称:

.\SQLEXPRESS


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接