Я могу вручную щелкнуть правой кнопкой мыши на SSMS и выбрать «Запуск от имени другого пользователя», а затем ввести мой пароль для аутентификации Windows и пароль, который успешно установит соединение с моим нужным сервером и БД.
Есть ли способвызвать опцию «Запуск от имени другого пользователя» из Excel VBA и передать сведения о пользователе и пароле?
Код VBA, который у меня есть на данный моментвыглядит следующим образом:
Public Sub SQL_Data()
Dim Conn As New ADODB.Connection
Dim SystemSever, Systemdb As String
Dim RS As ADODB.Recordset
Dim CMD As ADODB.Command
Dim SQL_1 As String
SystemServer = "ServerName"
Systemdb = "DBName"
Set Conn = New ADODB.Connection
Conn.CommandTimeout = 60000
Conn.ConnectionTimeout = 60000
Conn.Open "DRIVER={SQL Server};SERVER=" & SystemServer & ";DATABASE=" & Systemdb & ";Trusted_Connection=Yes;OPTION=16427"
Set RS = New ADODB.Recordset
Set CMD = New ADODB.Command
With CMD
.ActiveConnection = Conn
End With
With RS
.CursorLocation = adUseClient
End With
SQL_1 = "SELECT ....... " & _
"FROM .......... "
RS.Open SQL_1, Conn, adOpenStatic
If WorksheetFunction.CountA(Range("Table_Data")) > 1 Then Range("Table_Data").Delete
Range("Table_Data").CopyFromRecordset RS
RS.Close
Set CMD = Nothing
End Sub