Condividi tramite


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
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