我對SQL Server以及VBA都很陌生。我嘗試使用VBA連接到我們的SQL Server,並在解決了幾個問題後,終於遇到了障礙。我收到以下錯誤消息:無法打開登錄請求的數據庫「MSSQLSERVER」。登錄失敗。用戶sa登錄失敗
無法打開登錄所請求的數據庫「MSSQLSERVER」。登錄失敗。登錄失敗的用戶sa
我知道使用sa
用戶名不安全的理想,但這是我現在要處理的。我已經嘗試重新啓動SQL Server,我確保混合模式身份驗證已啓用。我使用的代碼如下所示,我現在只是使用測試查詢從數據庫中提取一行數據。任何幫助將不勝感激
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConnString As String
' Create the connection string.
sConnString = "Provider=SQLNCLI11;Server=servername;Database=MSSQLSERVER;Uid=sa;Pwd=password;"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Open the connection and execute.
conn.Open sConnString
Set rs = conn.Execute("SELECT IM_BARCOD.BARCOD FROM IM_BARCOD WHERE BARCOD = '793661061274';")
' Check we have data.
If Not rs.EOF Then
' Transfer result.
Sheets(1).Range("A1").CopyFromRecordset rs
' Close the 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
我真的很希望密碼不是你在那個連接字符串中的那個字符串 – MatBailie
把VBA一塊拿出來。使用SSMS或UDL方法來測試連通性。你可以連接SSMS嗎?如果是這樣,瀏覽到服務器登錄名,並確保啓用sa –
'MSSQLSERVER'是默認(未命名)實例的默認服務名稱 - 是**真**你的數據庫名稱,也?? –