4 Stimmen

Ist es möglich, eine vertrauenswürdige Verbindung (SSPI) mit der SQLDMO-API zu verwenden?

Ich verwende die DMO-API über .NET, um eine alternative Schnittstelle zur Auftragsplanungsfunktionalität auf SQL Server 2000 Agent bereitzustellen. Der Arbeitscode sieht in etwa wie folgt aus:

using SQLDMO;

internal class TestDmo {
    public void StartJob() {
        SQLServerClass sqlServer = new SQLServerClass();
        sqlServer.Connect("MyServerName", "sql_user_id", "p@ssword"); // no trusted/SSPI overload?

        foreach (Job job in sqlServer.JobServer.Jobs) {
            if (!job.Name.Equals("MyJob")) continue;

            job.Start(null);
        }
    }
}

Alles funktioniert in der oben genannten Form (SQL Server-Authentifizierung mit uid/pwd bereitgestellt), aber ich möchte auch eine Option zur Authentifizierung als vertrauenswürdiger Benutzer (aka SSPI, Trusted Connection) bieten

Ist dies in der DMO-API möglich? Wenn ja, wie?

Hinweis: Die SQLServerClass.Connect-Methode scheint keine Überladungen zu haben, ich habe bereits versucht, Null-Werte für die Benutzerkennung und das Kennwort zu übergeben, ohne Erfolg, und die Googles hat noch nicht hilfreich gewesen. Irgendwelche Ideen?

4voto

Heinzi Punkte 157917

De die Dokumentation :

object.Connect( [ ServerName ] , [ Login ] , [ Passwort ] )

[...]

を使用します。 Anmeldung y Passwort Argumente, um die für die SQL Server-Authentifizierung verwendeten Werte anzugeben. Um die Windows-Authentifizierung für die Verbindung zu verwenden, setzen Sie die LoginSecure auf TRUE zu setzen, bevor der Aufruf der Verbinden Sie Methode. Wenn LoginSecure TRUE ist, werden alle Werte, die in der Anmeldung y Passwort Argumente werden ignoriert.

Daher müssen Sie die LoginSecure Eigenschaft zu true bevor Sie Connect aufrufen. Dann spielt es keine Rolle, welche Bewertung

2voto

CesarGon Punkte 14851

Satz SQLServerClass.LoginSecure = true und lassen Sie Benutzernamen und Passwort leer.

Schauen Sie mal ici für weitere Informationen. Ich habe gerade festgestellt, dass LoginSecure ist allerdings veraltet. Anscheinend wurde SQL-DMO durch SMO abgelöst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X