SSMS SQL запускается как другой пользователь из Excel VBA - PullRequest
0 голосов
/ 03 октября 2019

Я могу вручную щелкнуть правой кнопкой мыши на SSMS и выбрать «Запуск от имени другого пользователя», а затем ввести мой пароль для аутентификации Windows и пароль, который успешно установит соединение с моим нужным сервером и БД.

Есть ли способвызвать опцию «Запуск от имени другого пользователя» из Excel VBA и передать сведения о пользователе и пароле?

Run as different user

Код 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

1 Ответ

0 голосов
/ 04 октября 2019

Извините - не ответ, а просто вопрос для Джероена о Credential Manager. Я нахожусь в правильном месте здесь - если так, в первом поле я бы просто набрал "ServerName: 1433"

Credential Manager

...