Funzione SQLConfigDataSource
Conformità
Versione introdotta: ODBC 1.0
Riepilogo
SQLConfigDataSource aggiunge, modifica o elimina origini dati.
È anche possibile accedere alle funzionalità di SQLConfigDataSource con ODBCCONF.EXE.
Sintassi
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);
Argomenti
hwndParent
[Input] Handle della finestra padre. La funzione non visualizzerà finestre di dialogo se l'handle è Null.
fRequest
[Input] Tipo di richiesta. L'argomento fRequest deve contenere uno dei valori seguenti:
ODBC_ADD_DSN: aggiungere una nuova origine dati utente.
ODBC_CONFIG_DSN: configurare (modificare) un'origine dati utente esistente.
ODBC_REMOVE_DSN: rimuovere un'origine dati utente esistente.
ODBC_ADD_SYS_DSN: aggiungere una nuova origine dati di sistema.
ODBC_CONFIG_SYS_DSN: modificare un'origine dati di sistema esistente.
ODBC_REMOVE_SYS_DSN: rimuovere un'origine dati di sistema esistente.
ODBC_REMOVE_DEFAULT_DSN: rimuovere la sezione specifica dell'origine dati predefinita dalle informazioni di sistema. Rimuove anche la sezione relativa alla specifica del driver predefinita dalla voce Odbcinst.ini nelle informazioni di sistema. Questa operazione fRequest esegue la stessa funzione della funzione SQLRemoveDefaultDataSource deprecata. Quando si specifica questa opzione, tutti gli altri parametri nella chiamata a SQLConfigDataSource devono essere NULL. Se non sono NULL, verranno ignorati.
lpszDriver
[Input] Descrizione del driver (in genere il nome del DBMS associato) presentato agli utenti invece del nome del driver fisico.
lpszAttributes
[Input] Elenco di attributi con terminazione Null doubly sotto forma di coppie chiave-valore. Per altre informazioni, vedere ConfigDSN.
Resi
Se ha esito positivo, la funzione restituisce TRUE se ha esito negativo. Se non esiste alcuna voce nelle informazioni di sistema quando questa funzione viene chiamata, la funzione restituisce FALSE.
Diagnostica
Quando SQLConfigDataSource 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_HWND | Handle di finestra non valido | L'argomento hwndParent non è valido o NULL. |
ODBC_ERROR_INVALID_REQUEST_TYPE | Tipo di richiesta non valido | L'argomento fRequest non è uno dei seguenti: ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN |
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 lpszAttributes 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 ConfigDSN 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
SQLConfigDataSource usa il valore di lpszDriver per leggere il percorso completo della DLL di installazione per il driver dalle informazioni di sistema. Carica la DLL e chiama ConfigDSN con gli stessi argomenti passati.
SQLConfigDataSource restituisce FALSE se non è in grado di trovare o caricare la DLL di installazione o se l'utente annulla la finestra di dialogo. In caso contrario, restituisce lo stato ricevuto da ConfigDSN.
SQLConfigDataSource esegue il mapping del DSN di sistema fRequest s al DSN utente fRequests (ODBC_ADD_SYS_DSN a ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN a ODBC_CONFIG_DSN e ODBC_REMOVE_SYS_DSN a ODBC_REMOVE_DSN). Per distinguere utenti e DSN di sistema, SQLConfigDataSource imposta la modalità di configurazione del programma di installazione in base alla tabella seguente. Prima di tornare, SQLConfigDataSource reimposta la modalità di configurazione su BOTHDSN. ConfigDSN (implementato dai driver) deve chiamare SQLWriteDSNToIni e SQLWritePrivateProfileString per supportare un DSN di sistema. Per altre informazioni, vedere Funzione ConfigDSN.
fRequest | Modalità di configurazione |
---|---|
ODBC_ADD_DSN | USERDSN_ONLY |
ODBC_CONFIG_DSN | USERDSN_ONLY |
ODBC_REMOVE_DSN | USERDSN_ONLY |
ODBC_ADD_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_CONFIG_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_REMOVE_SYS_DSN | SYSTEMDSN_ONLY |
Funzioni correlate
Per informazioni su | Vedere |
---|---|
Aggiunta, modifica o rimozione di un'origine dati | ConfigDSN (nella DLL di installazione) |
Rimozione di un nome di origine dati dalle informazioni di sistema | SQLRemoveDSNFromIni |
Aggiunta di un nome di origine dati alle informazioni di sistema | SQLWriteDSNToIni |