SQL到VBA:从SQL导入到Excel中时出错

在下面的代码中,我不断收到一条错误消息:

“运行时错误”-2147467259(80004005)“:自动化错误未指定错误”

当我尝试打开连接时popup错误。 我所要做的就是将数据从本地SQL数据库导入到excel中。

我不知道是否重要,但我正在使用SQL Server 2014 express。

Sub connect() Dim conn As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Dim strConn As String Dim connstr As String Dim strSRV As String Dim strDB As String Dim sql_login As String sqlquery = "SELECT top 10 * FROM [Source Contacts];" connstr = "Driver={SQL Server native Client 11.0};Server=(LocalDB)\v11.0;AttachDBFileName=C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\SIT23DL_Validation.mdf;Database=SIT23DL_Validation;Trusted_Connection=Yes" 'Create the Connection and Recordset objects Set conn = New ADODB.Connection conn.ConnectionString = connstr conn.Open Set rs = conn.Execute(sqlquery) If Not rs.EOF Then 'Transfer result Sheets(1).Range("A1").CopyFromRecordset rs 'Close Recordset rs.Close Else MsgBox "Error: No records returned.", vbCritical End If 'Clean up If CBool(conn.State And adStateopen) Then conn.Close Set conn = Nothing Set rs = Nothing End Sub 

同意这些意见,最有可能的罪魁祸首是连接string。 尝试使用“Microsoft SQL Server Management Studio”连接到您的SQL实例,并通过该接口连接数据库(而不是通过连接string)。 如果所有的工作,你可以尝试以下(您可能需要用您的实际机器名称replace本地主机):

 connstr = "Provider=SQLOLEDB;Data Source='localhost\v11.0';Initial Catalog='SIT23DL_Validation';Integrated Security=SSPI;Trusted_Connection=Yes"