Funzione SQLConfigDriver
Conformità
Versione introdotta: ODBC 2.5
Riepilogo
SQLConfigDriver carica la DLL di installazione del driver appropriata e chiama la funzione ConfigDriver .
È anche possibile accedere alla funzionalità di SQLConfigDriver con ODBCCONF.EXE.
Sintassi
BOOL SQLConfigDriver(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszArgs,
LPSTR lpszMsg,
WORD cbMsgMax,
WORD * pcbMsgOut);
Argomenti
hwndParent
[Input] Handle della finestra padre. La funzione non visualizzerà finestre di dialogo se l'handle è Null.
fRequest
[Input] Tipo di richiesta. fRequest deve contenere uno dei valori seguenti:
ODBC_CONFIG_DRIVER: modifica il timeout del pool di connessioni usato dal driver.
ODBC_INSTALL_DRIVER: installa un nuovo driver.
ODBC_REMOVE_DRIVER: rimuove un driver esistente.
Questa opzione può anche essere specifica del driver, nel qual caso la richiesta fRequest per la prima opzione deve iniziare da ODBC_CONFIG_DRIVER_MAX+1. Anche fRequest per qualsiasi opzione aggiuntiva deve iniziare da un valore maggiore di ODBC_CONFIG_DRIVER_MAX+1.
lpszDriver
[Input] Nome del driver registrato nelle informazioni di sistema.
lpszArgs
[Input] Stringa con terminazione Null che contiene argomenti per una richiesta fRequest specifica del driver.
lpszMsg
[Output] Stringa con terminazione Null contenente un messaggio di output dall'installazione del driver.
cbMsgMax
[Input] Lunghezza di lpszMsg.
pcbMsgOut
[Output] Numero totale di byte disponibili per la restituzione in lpszMsg. Se il numero di byte disponibili per la restituzione è maggiore o uguale a cbMsgMax, il messaggio di output in lpszMsg viene troncato a cbMsgMax meno il carattere di terminazione null. L'argomento pcbMsgOut può essere un puntatore Null.
Resi
Se ha esito positivo, la funzione restituisce TRUE se ha esito negativo.
Diagnostica
Quando SQLConfigDriver restituisce FALSE, è possibile ottenere un valore *pfErrorCode associato chiamando SQLInstallerError. Nella tabella seguente sono elencati i valori *pfErrorCode che possono essere restituiti da SQLInstallerError e spiega ognuno nel contesto di questa funzione.
*pfErrorCode | Errore | Descrizione |
---|---|---|
ODBC_ERROR_GENERAL_ERR | Errore generale del programma di installazione | Si è verificato un errore per il quale non si è verificato un errore specifico del programma di installazione. |
ODBC_ERROR_INVALID_BUFF_LEN | Lunghezza del buffer non valida | L'argomento lpszMsg non è valido. |
ODBC_ERROR_INVALID_HWND | Handle di finestra non valido | L'argomento hwndParent non è valido. |
ODBC_ERROR_INVALID_REQUEST_TYPE | Tipo di richiesta non valido | L'argomento fRequest non è uno dei seguenti: ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER L'argomento fRequest è un'opzione specifica del driver minore o uguale a ODBC_CONFIG_DRIVER_MAX. |
ODBC_ERROR_INVALID_NAME | Driver o nome traduttore non valido | L'argomento lpszDriver non è valido. Non è stato trovato nel Registro di sistema. |
ODBC_ERROR_INVALID_KEYWORD_VALUE | Coppie chiave-valore non valide | L'argomento lpszArgs contiene un errore di sintassi. |
ODBC_ERROR_REQUEST_FAILED | Richiesta non riuscita | Il programma di installazione non è riuscito a eseguire l'operazione richiesta dall'argomento fRequest . Chiamata a ConfigDriver non riuscita. |
ODBC_ERROR_LOAD_LIBRARY_FAILED | Impossibile caricare il driver o la libreria di installazione del traduttore | Impossibile caricare la libreria di installazione del driver. |
ODBC_ERROR_OUT_OF_MEM | Memoria insufficiente | Il programma di installazione non è riuscito a eseguire la funzione a causa di una mancanza di memoria. |
Commenti
SQLConfigDriver consente a un'applicazione di chiamare la routine ConfigDriver di un driver senza dover conoscere il nome e caricare la DLL di installazione specifica del driver. Un programma di installazione chiama questa funzione dopo l'installazione della DLL di installazione del driver. Il programma chiamante deve tenere presente che questa funzione potrebbe non essere disponibile per tutti i driver. In tal caso, il programma chiamante deve continuare senza errori.
Opzioni specifiche del driver
Un'applicazione può richiedere funzionalità specifiche del driver esposte dal driver usando l'argomento fRequest . La richiesta fRequest per la prima opzione sarà ODBC_CONFIG_DRIVER_MAX+1 e le opzioni aggiuntive verranno incrementate di 1 da tale valore. Tutti gli argomenti richiesti dal driver per tale funzione devono essere forniti in una stringa con terminazione Null passata nell'argomento lpszArgs . I driver che forniscono tali funzionalità devono mantenere una tabella di opzioni specifiche del driver. Le opzioni devono essere documentate completamente nella documentazione del driver. Gli autori di applicazioni che usano opzioni specifiche del driver devono tenere presente che questo uso renderà l'applicazione meno interoperabile.
Impostazione del timeout del pool di connessioni
Le proprietà di timeout del pool di connessioni possono essere impostate quando si imposta la configurazione del driver. SQLConfigDriver viene chiamato con un fRequest di ODBC_CONFIG_DRIVER e lpszArgs impostato su CPTimeout. CPTimeout determina il periodo di tempo in cui una connessione può rimanere nel pool di connessioni senza essere utilizzata. Alla scadenza del timeout, la connessione viene chiusa e rimossa dal pool. Il timeout predefinito è 60 secondi.
Quando SQLConfigDriver viene chiamato con fRequest impostato su ODBC_INSTALL_DRIVER o ODBC_REMOVE_DRIVER, Gestione driver carica la DLL di installazione del driver appropriata e chiama la funzione ConfigDriver . Quando SQLConfigDriver viene chiamato con un fRequest di ODBC_CONFIG_DRIVER, tutte le elaborazioni vengono eseguite nel programma di installazione ODBC, in modo che la DLL di installazione del driver non sia necessario caricare.
Messaggi
Una routine di installazione del driver può inviare un sms a un'applicazione come stringhe con terminazione Null nel buffer lpszMsg . Il messaggio verrà troncato a cbMsgMax meno il carattere di terminazione null dalla funzione ConfigDriver se è maggiore o uguale a cbMsgMax caratteri.
Funzioni correlate
Per informazioni su | Vedere |
---|---|
Aggiunta, modifica o rimozione di un driver | ConfigDriver(nella DLL di installazione) |
Rimozione dell'origine dati predefinita | SQLRemoveDefaultDataSource |