将值从 SQL 服务器导入到 Excel

Importing values from SQL Server to Excel

我无法将值从 SQL 服务器导入到 Excel。有人可以帮忙吗:

Dim oConn As ADODB.Connection
Private Sub ConnectDB()

    Set oConn = New ADODB.Connection
    oConn.Open "Provider=SQLOLEDB; " & _
            "Data Source=ServerName; " & _
            "Initial Catalog=MyDB;" & _
            "Trusted_Connection=yes;"
End Sub
Public Sub ExportDataToDB()
    Dim rs As ADODB.Recordset
    ConnectDB
    Set rs = New ADODB.Recordset
    Dim strSql As String

    strSql = "select t.col1, t.col2 from Table t"

    rs.Open strSql, oConn

    Sheet1.Range("A2").CopyFromRecordset rs

    CloseDBConn
End Sub

Private Sub CloseDBConn()
    oConn.Close
End Sub

连接成功。没有错误。查询不为空,但没有任何内容返回到 sheet.

如果您只想从数据库中读取一组记录,例如将记录的当前状态写入工作表,您应该指定 CursorType 属性 ADODB.RecordSet 作为 adOpenStatic 这是 link 到 Microsoft 的文档:https://docs.microsoft.com/en-us/sql/ado/guide/data/types-of-cursors-ado