我对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'是默认(未命名)实例的默认服务名称 - 是**真**你的数据库名称,也?? –