2017-10-11 176 views
-1

我对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 
+0

我真的很希望密码不是你在那个连接字符串中的那个字符串 – MatBailie

+0

把VBA一块拿出来。使用SSMS或UDL方法来测试连通性。你可以连接SSMS吗?如果是这样,浏览到服务器登录名,并确保启用sa –

+1

'MSSQLSERVER'是默认(未命名)实例的默认服务名称 - 是**真**你的数据库名称,也?? –

回答

0

无法打开数据库“MSSQLSERVER”请求登录。登录 失败。用户sa登录失败

数据库MSSQLSERVER不存在,所以无法打开。

只需在连接字符串中传递数据库,或传递master或任何您应该使用的现有数据库。

+0

这对我有效,谢谢! – Liz

相关问题