Chiedere all'utente informazioni di connessione
Se l'applicazione usa SQLConnect e deve richiedere all'utente informazioni sulla connessione, come il nome utente e la password, deve farlo autonomamente. Se da un lato questo permette all'applicazione di controllare il suo aspetto, dall'altro potrebbe costringere l'applicazione a contenere codice specifico per il driver. Ciò si verifica quando l'applicazione deve richiedere all'utente le informazioni di connessione specifiche del driver. Questo rappresenta una situazione impossibile per le applicazioni generiche, che sono progettate per funzionare con qualsiasi driver, compresi quelli che non esistono al momento della scrittura dell'applicazione.
SQLDriverConnect può richiedere all'utente le informazioni di connessione. Ad esempio, il programma personalizzato citato prima potrebbe passare la seguente stringa di connessione a SQLDriver Connessione:
DSN=XYZ Corp;
Il driver potrebbe quindi visualizzare una finestra di dialogo che richiede ID utente e password, come nella figura seguente.
Che il driver possa richiedere informazioni di connessione è particolarmente utile per applicazioni generiche e verticali. Queste applicazioni non dovrebbero contenere informazioni specifiche per il driver e il fatto che il driver richieda le informazioni di cui ha bisogno evita che tali informazioni escano dall'applicazione. Questo è dimostrato dai due esempi precedenti. Quando l'applicazione passava solo il nome dell'origine dati al driver, l'applicazione non conteneva informazioni specifiche sul driver e quindi non era legata a un particolare driver. Quando l'applicazione passava una stringa di connessione completa al driver, era legata al driver in grado di interpretarla.
Un'applicazione generica potrebbe portare avanti questo passaggio e non specificare nemmeno un'origine dati. Quando SQLDriverConnect riceve un stringa di connessione vuota, Gestione driver visualizza la finestra di dialogo seguente.
Dopo che l'utente seleziona un'origine dati, Gestione driver costruisce un stringa di connessione specificando tale origine dati e la passa al driver. Il driver può quindi richiedere all'utente eventuali informazioni aggiuntive necessarie.
Le condizioni in cui il driver richiede l'intervento dell'utente sono controllate dal flag DriverCompletion; è possibile scegliere se richiederlo sempre, richiederlo solo se necessario o non richiederlo mai. Per una descrizione completa di questo flag, vedere la descrizione della funzione SQLDriverConnect.