SQLDriverConnect
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Der ODBC-Treiber für SQL Server Native Client definiert Verbindungsattribute, die Verbindungszeichenfolgenstichwörter ersetzen oder verbessern. Mehrere Schlüsselwörter für Verbindungszeichenfolgen weisen Standardwerte auf, die vom SQL Server Native Client ODBC-Treiber angegeben werden.
Eine Liste der Schlüsselwörter, die im ODBC-Treiber von SQL Server Native Client verfügbar sind, finden Sie unter Verwenden von Verbindungszeichenfolgenstichwörtern mit SQL Server Native Client.
Weitere Informationen zu SQL Server-Verbindungsattributen und Treiberstandardverhalten finden Sie unter SQLSetConnectAttr.
Eine Erläuterung zu Verbindungszeichenfolge Schlüsselwörtern, die für SQL Server Native Client gültig sind, finden Sie unter Verwenden von Verbindungszeichenfolgenstichwö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üsselwortwerte aus dem angezeigten Dialogfeld ab. Wenn der Schlüsselwortwert im Verbindungszeichenfolge übergeben wird und der Benutzer den Wert für das Schlüsselwort im Dialogfeld nicht ändert, verwendet der SQL Server Native Client ODBC-Treiber den Wert aus dem 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-Element erhalten, wenn für jeden DriverCompletion-Wert die Anzeige des Dialogfelds "Treiberverbindung" erforderlich ist (oder erforderlich sein kann). 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 ganz links von den beiden ist, und der PARAMETERwert SQLDriverConnectDriverCompletion SQL_DRIVER_NOPROMPT ist, sind das SERVER-Schlüsselwort 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 Parameterwert "DriverCompletion" SQL_DRIVER_NOPROMPT oder SQL_DRIVER_COMPLETE_REQUIRED ist und die Sprache oder Datenbank aus dem Verbindungszeichenfolge stammt und entweder ungültig ist, gibt SQLDriverConnect SQL_ERROR zurück.
Wenn der Parameterwert "DriverCompletion " SQL_DRIVER_NOPROMPT oder SQL_DRIVER_COMPLETE_REQUIRED ist und die Sprache oder Datenbank aus den ODBC-Datenquellendefinitionen stammt und entweder ungültig ist, verwendet SQLDriverConnect die Standardsprache oder Datenbank für die angegebene Benutzer-ID und gibt SQL_SUCCESS_WITH_INFO zurück.
Wenn der Parameterwert "DriverCompletion " SQL_DRIVER_COMPLETE oder SQL_DRIVER_PROMPT ist und die Sprache oder Datenbank ungültig ist, zeigt SQLDriverConnect das Dialogfeld erneut an.
SQLDriverConnect-Unterstützung für hohe Verfügbarkeit, Wiederherstellung im Notfall
Weitere Informationen zur Verwendung von SQLDriverConnect zum Herstellen einer Verbindung mit einem AlwaysOn-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 Verbindungszeichenfolge Schlüsselwörter 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 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 Service Principal Names (SPNs) in Client Connections (ODBC).For more information about SPNs, see Service Principal Names (SPNs) in Client Connections (ODBC).For more information about SPNs, see Service Principal Names (SPNs) in Client Connections (ODBC).
Beispiele
Der folgende Aufruf veranschaulicht die geringste Datenmenge, die für SQLDriverConnect erforderlich ist:
SQLDriverConnect(hdbc, hwnd,
(SQLTCHAR*) TEXT("DRIVER={SQL Server Native Client 10};"), SQL_NTS, szOutConn,
MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);
Die folgenden Verbindungszeichenfolge veranschaulichen mindestens erforderliche Daten, wenn der Parameterwert "DriverCompletion" 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-Implementierungsdetails
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)