SQLDriverConnect

Der SQL Server Native Client-ODBC-Treiber definiert Verbindungsattribute, die entweder Schlüsselwörter für Verbindungszeichenfolgen ersetzen oder verbessern. Mehrere Schlüsselwörter für Verbindungszeichenfolgen verfügen über vom SQL Server Native Client-ODBC-Treiber angegebene Standardwerte.

Eine Liste der im SQL Server Native Client-ODBC-Treiber verfügbaren Schlüsselwörter finden Sie unter Verwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit SQL Server Native Client.

Weitere Informationen zu SQL Server-Verbindungsattributen und Standardverhalten von Treibern finden Sie unter SQLSetConnectAttr.

Eine Erläuterung der für SQL Server Native Client gültigen Schlüsselwörter für Verbindungszeichenfolgen finden Sie unter Verwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit SQL Server Native Client.

Wenn der SQLDriverConnectDriverCompletion -Parameterwert auf SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE oder SQL_DRIVER_COMPLETE_REQUIRED festgelegt ist, ruft der SQL Server Native Client-ODBC-Treiber Werte für Schlüsselwörter aus dem angezeigten Dialogfeld ab. Wenn der Schlüsselwortwert in der Verbindungszeichenfolge übergeben wird und der Benutzer den Schlüsselwortwert nicht im Dialogfeld ändert, verwendet der SQL Server Native Client ODBC-Treiber den Wert aus der Verbindungszeichenfolge. Wenn der Wert in der Verbindungszeichenfolge nicht festgelegt wird und der Benutzer keine Zuweisung im Dialogfeld vornimmt, verwendet der Treiber den Standardwert.

SQLDriverConnect muss ein gültiger WindowHandle-Wert zugewiesen werden, wenn ein DriverCompletion-Wert die Anzeige des Verbindungsdialogfelds des Treibers erfordert (oder erfordern könnte). Ein ungültiges Handle gibt SQL_ERROR zurück.

Geben Sie entweder das Schlüsselwort DRIVER oder DSN an. ODBC gibt an, dass ein Treiber das äußere linke dieser beiden Schlüsselwörter verwendet und das andere ignoriert, wenn beide Schlüsselwörter angegeben sind. Wenn DRIVER angegeben ist oder es sich hierbei um das äußere linke der beiden Schlüsselwörter handelt und wenn der SQLDriverConnectDriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT lautet, sind das Schlüsselwort SERVER und ein entsprechender Wert erforderlich.

Wenn SQL_DRIVER_NOPROMPT angegeben wird, müssen Schlüsselwörter für die Benutzerauthentifizierung mit Werten vorhanden sein. Der Treiber stellt sicher, dass entweder die Zeichenfolge "Trusted_Connection=yes" oder sowohl das UID- als auch das PWD-Schlüsselwort vorhanden sind.

Wenn der DriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT oder SQL_DRIVER_COMPLETE_REQUIRED lautet und die Sprache oder Datenbank aus der Verbindungszeichenfolge stammt und ungültig ist, gibt SQLDriverConnect SQL_ERROR zurück.

Wenn der DriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT oder SQL_DRIVER_COMPLETE_REQUIRED lautet und die Sprache oder Datenbank aus den ODBC-Datenquellendefinitionen stammt und ungültig ist, verwendet SQLDriverConnect die standardmäßige Sprache oder Datenbank für die angegebene Benutzer-ID und gibt SQL_SUCCESS_WITH_INFO zurück.

Wenn der DriverCompletion-Parameterwert SQL_DRIVER_COMPLETE oder SQL_DRIVER_PROMPT lautet und die Sprache oder Datenbank ungültig ist, zeigt SQLDriverConnect das Dialogfeld erneut an.

SQLDriverConnect-Unterstützung für Dienstprinzipalnamen (Service Principal Names, SPNs)

SQLDDriverConnect verwendet das ODBC-Anmeldungsdialogfeld, wenn Aufforderungen aktiviert sind. Damit können SPNs sowohl für den Prinzipalserver als auch seinen Failoverpartner eingegeben werden.

SQLDriverConnect akzeptiert die neuen Schlüsselwörter für Verbindungszeichenfolgen ServerSPN und FailoverPartnerSPN und erkennt die neuen Verbindungsattribute SQL_COPT_SS_SERVER_SPN und SQL_COPT_SS_FAILOVER_PARTNER_SPN.

Wenn ein Wert für ein Verbindungsattribut mehrfach angegeben wird, hat ein programmgesteuert festgelegter Wert Vorrang vor dem Wert in einem DSN und einem Wert in einer Verbindungszeichenfolge. Ein Wert in einem DSN hat Vorrang vor einem Wert in einer Verbindungszeichenfolge.

Wenn eine Verbindung hergestellt wird, legt SQL Server Native Client für SQL_COPT_SS_MUTUALLY_AUTHENTICATED und SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD die für das Herstellen der Verbindung zu verwendende Authentifizierungsmethode fest.

Weitere Informationen zu SPNs finden Sie unter Dienstprinzipalnamen (SPN) in Clientverbindungen (ODBC).

Beispiele

Der folgende Aufruf illustriert die Mindestdatenmenge für SQLDriverConnect:

SQLDriverConnect(hdbc, hwnd,
    (SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,
    MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);

Die folgenden Verbindungszeichenfolgen illustrieren die MIndestdatenmenge, wenn der DriverCompletion -Parameterwert SQL_DRIVER_NOPROMPT lautet:

"DSN=Human Resources;Trusted_Connection=yes"

"FILEDSN=HR_FDSN;Trusted_Connection=yes"

"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"