Connessione con SQLBrowseConnect
SQLBrowseConnect, ad esempio SQLDriverConnect, usa una stringa di connessione. Tuttavia, usando SQLBrowseConnect, un'applicazione può costruire una stringa di connessione completa in fase di esecuzione. In questo modo, l'applicazione può eseguire due operazioni:
Compilare finestre di dialogo proprie per richiedere tali informazioni, mantenendo in tal modo il controllo sull'aspetto.
Esplorare il sistema per individuare origini dati che possano essere utilizzate da un driver specifico, possibilmente in diversi passaggi. L'utente, ad esempio, potrebbe esplorare innanzitutto la rete per individuare i server e, dopo averne scelto uno, esplorare il server per individuare i database accessibili dal driver.
L'applicazione chiama SQLBrowseConnect e passa una stringa di connessione, nota come stringa di connessione di richiesta di esplorazione, che specifica un driver o un'origine dati. Il driver restituisce una stringa di connessione, nota come stringa di connessione dei risultati di esplorazione, che contiene parole chiave, valori possibili (se la parola chiave accetta un set discreto di valori) e nomi descrittivi. L'applicazione compila una finestra di dialogo con i nomi descrittivi e richiede all'utente di specificare i valori. Compila quindi una nuova stringa di connessione dei risultati di esplorazione da questi valori e la restituisce al driver con un'altra chiamata a SQLBrowseConnect.
Poiché le stringhe di connessione vengono passate avanti e indietro, il driver può fornire diversi livelli di esplorazione restituendo una nuova stringa di connessione quando l'applicazione restituisce quella precedente. Ad esempio, la prima volta che un'applicazione chiama SQLBrowseConnect, il driver potrebbe restituire parole chiave per richiedere all'utente un nome server. Quando l'applicazione restituisce il nome del server, il driver potrebbe restituire parole chiave per richiedere all'utente un database. Il processo di esplorazione verrà completato dopo che l'applicazione ha restituito il nome del database.
Ogni volta che SQLBrowseConnect restituisce una nuova stringa di connessione dei risultati di esplorazione, restituisce SQL_NEED_DATA come codice restituito. Indica all'applicazione che il processo di connessione non è stato completato. Fino a quando SQLBrowseConnect restituisce SQL_SUCCESS, la connessione è in stato Need Data e non può essere usata per altri scopi, ad esempio per impostare un attributo di connessione. L'applicazione può terminare il processo di esplorazione della connessione chiamando SQLDisconnect.
In questa sezione viene trattato l'argomento seguente.