Condividi tramite


SQLDriverConnect

Si applica a: SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

Il driver ODBC di SQL Server Native Client definisce gli attributi di connessione che sostituiscono o migliorano le parole chiave delle stringhe di connessione. Diverse parole chiave della stringa di connessione hanno valori predefiniti specificati dal driver ODBC di SQL Server Native Client.

Per un elenco delle parole chiave disponibili nel driver ODBC di SQL Server Native Client, vedere Uso delle parole chiave delle stringhe di connessione con SQL Server Native Client.

Per altre informazioni sugli attributi di connessione di SQL Server e sui comportamenti predefiniti del driver, vedere SQLSetConnectAttr.

Per una descrizione delle parole chiave di stringa di connessione valide per SQL Server Native Client, vedere Uso delle parole chiave delle stringhe di connessione con SQL Server Native Client.

Quando il valore del parametro SQLDriverConnectDriverCompletion è SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE o SQL_DRIVER_COMPLETE_REQUIRED, il driver ODBC di SQL Server Native Client recupera i valori delle parole chiave dalla finestra di dialogo visualizzata. Se il valore della parola chiave viene passato nella stringa di connessione e l'utente non modifica il valore per la parola chiave nella finestra di dialogo, il driver ODBC di SQL Server Native Client usa il valore del stringa di connessione. Se il valore non è impostato nella stringa di connessione e l'utente non esegue alcuna assegnazione nella finestra di dialogo, il driver utilizza il valore predefinito.

A SQLDriverConnect deve essere assegnato un valore WindowHandle valido quando un valore DriverCompletion richiede (o potrebbe richiedere) la visualizzazione della finestra di dialogo di connessione del driver. Un handle non valido restituisce SQL_ERROR.

Specificare la parola chiave DRIVER o DSN. ODBC dichiara che un driver utilizza la parola chiave più a sinistra tra le due e ignora l'altra se sono specificate entrambe. Se viene specificato DRIVER o è la parte più a sinistra dei due e il valore del parametro SQLDriverConnectDriverCompletion è SQL_DRIVER_NOPROMPT, sono necessarie la parola chiave SERVER e un valore appropriato.

Quando si specifica SQL_DRIVER_NOPROMPT, le parole chiave di autenticazione utente devono essere presenti con valori. Il driver garantisce la presenza della stringa "Trusted_Connection=yes" o delle parole chiave UID e PWD.

Se il valore del parametro DriverCompletion è SQL_DRIVER_NOPROMPT o SQL_DRIVER_COMPLETE_REQUIRED e la lingua o il database proviene dal stringa di connessione e uno dei due non è valido, SQLDriverConnect restituisce SQL_ERROR.

Se il valore del parametro DriverCompletion è SQL_DRIVER_NOPROMPT o SQL_DRIVER_COMPLETE_REQUIRED e la lingua o il database proviene dalle definizioni dell'origine dati ODBC e non è valido, SQLDriverConnect usa la lingua o il database predefinito per l'ID utente specificato e restituisce SQL_SUCCESS_WITH_INFO.

Se il valore del parametro DriverCompletion è SQL_DRIVER_COMPLETE o SQL_DRIVER_PROMPT e se la lingua o il database non è valido, SQLDriverConnect visualizza nuovamente la finestra di dialogo.

Supporto di SQLDriverConnect per il ripristino di emergenza a disponibilità elevata

Per altre informazioni sull'uso di SQLDriverConnect per connettersi a un cluster di gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.

Supporto di SQLDriverConnect per nomi SPN (Service Principal Name)

SQLDDriverConnect userà la finestra di dialogo Account di accesso ODBC quando viene abilitata la richiesta. Ciò consente di immettere i nomi SPN per il server principale e per il relativo partner di failover.

SQLDriverConnect accetterà le nuove parole chiave stringa di connessione ServerSPN e FailoverPartnerSPN e riconoscerà i nuovi attributi di connessione SQL_COPT_SS_SERVER_SPN e SQL_COPT_SS_FAILOVER_PARTNER_SPN.

Quando un attributo di connessione viene specificato più di una volta, un valore impostato a livello di programmazione ha la precedenza sul valore in un DSN e su un valore in una stringa di connessione. Un valore in un DSN ha la precedenza su un valore in una stringa di connessione.

Quando viene aperta una connessione, SQL Server Native Client imposta SQL_COPT_SS_MUTUALLY_AUTHENTICATED e SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD al metodo di autenticazione usato per aprire la connessione.

Per altre informazioni sui nomi SPN, vedere Service Principal Names (SPN) in Client Connections (ODBC).

Esempi

La chiamata seguente illustra la quantità minima di dati necessaria per SQLDriverConnect:

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

Le stringa di connessione seguenti illustrano i dati minimi necessari quando il valore del parametro DriverCompletion è SQL_DRIVER_NOPROMPT:

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

Vedi anche

Funzione SQLDriverConnect
Dettagli di implementazione dell'API ODBC
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)