Condividi tramite


SQLDriverConnect

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

Per un elenco delle parole chiave disponibili nel driver ODBC SQL Server Native Client, vedere Using Connection String Keywords with SQL Server Native Client.For a list of the keywords available in the SQL Server Native Client ODBC driver, see Using Connection String Keywords with SQL Server Native Client.

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

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

Quando il valore del SQLDriverConnect parametro DriverCompletion viene SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE o SQL_DRIVER_COMPLETE_REQUIRED, il driver ODBC 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 SQL Server Native Client utilizza il valore della 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.

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 è l'elemento più a sinistra dei due e il valore del SQLDriverConnect parametro DriverCompletion è 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 dalla 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 utilizza 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 SQLDriverConnect di per connettersi a un cluster di gruppi di disponibilità di Always On, vedere SQL Server Native Client Supporto per la disponibilità elevata e il ripristino di emergenza.

Supporto di SQLDriverConnect per nomi SPN (Service Principal Name)

SQLDDriverConnect userà la finestra di dialogo Account di accesso ODBC quando è 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 ServerSPN della stringa di connessione e FailoverPartnerSPNe 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 sul metodo di autenticazione usato per aprire la connessione.

Per altre informazioni sui nomi SPN, vedere Nomi dell'entità servizio (SPN) in Connessioni client (ODBC).For more information about SPN, see Service Principal Names (SPN) in Client Connections (ODBC).

Esempio

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 stringhe 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"  

Vedere anche

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