Condividi tramite


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.

Per informazioni su Vedere
Aggiunta, modifica o rimozione di un driver ConfigDriver(nella DLL di installazione)
Rimozione dell'origine dati predefinita SQLRemoveDefaultDataSource