Freigeben über


SQLDriverConnect

Der SQL Server Native Client ODBC-Treiber definiert Verbindungsattribute, die Verbindungszeichenfolgenschlüsselwörter ersetzen oder verbessern. Mehrere Verbindungszeichenfolgenschlüsselwörter verfügen über Standardwerte, die vom SQL Server Native Client ODBC-Treiber angegeben werden.

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

Weitere Informationen zu SQL Server Verbindungsattributen und Treiberstandardverhalten finden Sie unter SQLSetConnectAttr.

Eine Erläuterung zu Verbindungszeichenfolgenschlüsselwörtern, die für SQL Server Native Client gültig sind, finden Sie unter Verwenden von Verbindungszeichenfolgenschlüsselwörtern mit SQL Server Native Client.

Wenn der SQLDriverConnectDriverCompletion-Parameterwert SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE oder SQL_DRIVER_COMPLETE_REQUIRED ist, ruft der SQL Server Native Client ODBC-Treiber Schlüsselwort (keyword) Werte aus dem angezeigten Dialogfeld ab. Wenn der Schlüsselwort (keyword) Wert in der Verbindungszeichenfolge übergeben wird und der Benutzer den Wert für die Schlüsselwort (keyword) im Dialogfeld nicht ä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ültiges WindowHandle erhalten, wenn ein DriverCompletion-Wert die Anzeige des Dialogfelds "Treiberverbindung" 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 der linksste der beiden ist und der SQLDriverConnectDriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT ist, sind der SERVER-Schlüsselwort (keyword) 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 ist und die Sprache oder Datenbank aus der Verbindungszeichenfolge stammt und entweder ungültig ist, SQLDriverConnect gibt SQL_ERROR zurück.

Wenn der DriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT oder SQL_DRIVER_COMPLETE_REQUIRED ist und die Sprache oder Datenbank aus den ODBC-Datenquellendefinitionen stammt und entweder ungültig ist, SQLDriverConnect verwendet die Standardsprache 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 ist und die Sprache oder Datenbank ungültig ist, SQLDriverConnect wird das Dialogfeld erneut angezeigt.

SQLDriverConnect-Unterstützung für hohe Verfügbarkeit, Wiederherstellung im Notfall

Weitere Informationen zum Herstellen SQLDriverConnect einer Verbindung mit einem Always On Verfügbarkeitsgruppencluster finden Sie unter SQL Server Native Client Support for High Availability, Disaster Recovery.

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

SQLDDriverConnect verwendet das Dialogfeld ODBC-Anmeldung, wenn die Aufforderung aktiviert ist. Damit können SPNs sowohl für den Prinzipalserver als auch für seinen Failoverpartner eingegeben werden.

SQLDriverConnect akzeptiert die neuen Verbindungszeichenfolgen-Schlüsselwörter ServerSPN und und FailoverPartnerSPNerkennt 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 geöffnet wird, legt SQL Server Native Client SQL_COPT_SS_MUTUALLY_AUTHENTICATED und SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD auf die Authentifizierungsmethode fest, die zum Öffnen der Verbindung verwendet wird.

Weitere Informationen zu SPNs finden Sie unter Dienstprinzipalnamen (Service Principal Names, SPNs) in Clientverbindungen (ODBC).

Beispiele

Der folgende Aufruf veranschaulicht die geringste Datenmenge, die für erforderlich ist 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 veranschaulichen die mindestens erforderlichen Daten, wenn der DriverCompletion-Parameterwert SQL_DRIVER_NOPROMPT ist:

"DSN=Human Resources;Trusted_Connection=yes"  
  
"FILEDSN=HR_FDSN;Trusted_Connection=yes"  
  
"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"  

Weitere Informationen

SQLDriverConnect-Funktion
ODBC API Implementation Details
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)