Zum imitieren einer anderen Windows-Anmeldung in einer ADODB-connection?

Wie kann ich über ein ADODB.Connection-Objekt die Verbindung zu einem MS SQL Server mit einem angegebenen Satz von Windows-Anmeldeinformationen?

Beispiel:

Dim oConn  
Set oConn = CreateObject("ADODB.Connection")
Dim oRs
Set oRs = CreateObject("ADODB.Recordset")
Dim strConnection
Dim strSQL
strSQL = "SELECT * from Computer WHERE DeviceName = N'myDevice'"

oConn.Provider = "SQLOLEDB.1"
oConn.Properties("User ID") = "myDomain\myUser" 
oConn.Properties("Password") = "myPassword" 
oConn.Properties("Initial Catalog") = "myDB"
oConn.Properties("Data Source") = "mySQLServer"
oConn.Open

Wenn ich mag, dann schlägt es fehl mit der folgenden Fehlermeldung:

Microsoft OLE DB Provider for SQL Server error '80040e4d' 

Login failed for user 'myDomain\myUser'.

Überprüfung der SQL-Server-log zeigt diesen Fehler:

Login failed for user 'myDomain\myUser'. Reason: Could not find a login matching the name provided. [CLIENT: <IP>]

Dem Konto "myDomain\myUser" Zugriff auf den SQL-Server ist ein Mitglied einer Gruppe, die "sysadmin" - Rechte auf dem server. Kann ich RDP auf dem SQL Server mit dem gleichen Benutzernamen und erfolgreich Management Studio öffnen und verwalten der SQL-Server.

Was ich im Grunde erreichen möchte, ist die Verwendung der integrierten Sicherheit, wie ich bin, läuft dies über eine web-Seite, die auf IIS, wo Sie haben, um die Authentifizierung mit Active Directory-Zugriff zu erhalten. Die Authentifizierung Teil arbeitet, und Request.ServerVariables("AUTH_USER") zeigen den korrekten Benutzernamen.

Wenn ich ersetzen Sie die "User ID" und "Password" - Teil mit oConn.Properties("Integrated Security") = "SSPI" dann bekomme ich den folgenden Fehler:

Microsoft OLE DB Provider for SQL Server error '80040e4d' 

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

Das ist nicht meine angegebenen Anmeldeinformationen?

Wie kann ich diese Arbeit machen?

Vielen Dank im Voraus.

InformationsquelleAutor Michael G | 2013-01-29
Schreibe einen Kommentar