SQLDriverConnect

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Il driver ODBC di SQL Server Native Client definisce attributi di connessione che sostituiscono o migliorano le parole chiave della stringa di connessione. Per diverse parole chiave della stringa di connessione sono disponibili valori predefiniti specificati dal driver ODBC di SQL Server Native Client.

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

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

Per informazioni sulle parole chiave della stringa di connessione valide per SQL Server native client, vedere utilizzo delle parole chiave delle stringhe di connessione con SQL Server Native Client.

Se il valore del parametro SQLDriverConnectDriverCompletion è SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE o SQL_DRIVER_COMPLETE_REQUIRED, il SQL Server driver ODBC di 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 utilizza il valore dalla 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.

È necessario assegnare a SQLDriverConnect un 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 il DRIVER oppure è l'oggetto più a sinistra dei due e il valore del parametro DriverCompletion di SQLDriverConnect è SQL_DRIVER_NOPROMPT, la parola chiave server e un valore appropriato sono obbligatori.

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 deriva dalla stringa di connessione e 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 deriva dalle definizioni delle origini 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 di SQLDriverConnect per la connessione a un Gruppi di disponibilità AlwaysOn cluster, 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 utilizzerà la finestra di dialogo di accesso ODBC boxwhen la richiesta di conferma è abilitata. Ciò consente di immettere i nomi SPN per il server principale e per il relativo partner di failover.

SQLDriverConnect accetterà le nuove parole chiave della stringa di connessione ServerSPN e FailoverPartnerSPN e rileverà 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 si apre una connessione, SQL Server Native Client imposta SQL_COPT_SS_MUTUALLY_AUTHENTICATED e SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD sul metodo di autenticazione utilizzato per aprire la connessione.

Per ulteriori informazioni sui nomi SPN, vedere nomi dell'entità servizio (spn) nelle connessioni Client (ODBC).

Esempio

La chiamata seguente illustra la quantità minima di dati necessari 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

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