我正在尝试通过Excel上的VBA代码连接到SQL。
问题是,当我使用我的用户名登录时,我可以毫无问题地连接到数据库。但是当我尝试与登录的其他用户连接时,连接不成功。
我已经在我的数据库中创建了一个用户,如下图所示:
我在VBA上的连接是这样做的:
Option Explicit
Public DB As New ADODB.Connection
Public RST As New ADODB.Recordset
Public caminho, strConn As String
Public Msg As String
Sub CONECTA_DB()
strConn = "Provider=SQLOLEDB;Data Source=BR1104053\SQLEXPRESS;" & _
"Initial Catalog=BDVestiario;" & _
"Integrated Security=SSPI;" & _
"User ID=bdvestiario;" & _
"Password=#infra#sudeste#;"
Set DB = New ADODB.Connection
Set RST = New ADODB.Recordset
DB.Open strConn
RST.CursorLocation = adUseClient
这在登录其他用户时出现连接错误,但在我登录用户时正常连接。
问题是,我需要所有公司使用这个连接到SQL的excel表,所以我需要一个通用的用户名来读写数据库。
答案 0 :(得分:2)
您需要将Integrated Security设置为false或从连接字符串中完全删除。如果是这样或使用SSIS Windows凭据。
strConn = "Provider=SQLOLEDB;Data Source=BR1104053\SQLEXPRESS;" & _
"Initial Catalog=BDVestiario;" & _
"User ID=bdvestiario;" & _
"Password=#infra#sudeste#;"