Condividi tramite


Funzione SQLRemoveDriver

Conformità
Versione introdotta: ODBC 3.0

Riepilogo
SQLRemoveDriver modifica o rimuove informazioni sul driver dalla voce Odbcinst.ini nelle informazioni di sistema.

Sintassi

  
BOOL SQLRemoveDriver(  
     LPCSTR   lpszDriver,  
     BOOL     fRemoveDSN,  
     LPDWORD  lpdwUsageCount);  

Argomenti

lpszDriver
[Input] Nome del driver registrato nella chiave Odbcinst.ini delle informazioni di sistema.

fRemoveDSN
[Input] I valori validi sono:

TRUE: rimuovere I DSN associati al driver specificato in lpszDriver. FALSE: non rimuovere DSN associati al driver specificato in lpszDriver.

lpdwUsageCount
[Output] Numero di utilizzo del driver dopo la chiamata di questa funzione.

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 SQLRemoveDriver 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_COMPONENT_NOT_FOUND Componente non trovato nel Registro di sistema Il programma di installazione non è riuscito a rimuovere le informazioni sul driver perché non esiste nel Registro di sistema o non è stato trovato nel Registro di sistema.
ODBC_ERROR_INVALID_NAME Driver o nome traduttore non valido L'argomento lpszDriver non è valido.
ODBC_ERROR_USAGE_UPDATE_FAILED Impossibile incrementare o decrementare il numero di utilizzo dei componenti Il programma di installazione non è riuscito a decrementare il numero di utilizzo del driver.
ODBC_ERROR_REQUEST_FAILED Richiesta non riuscita L'argomento fRemoveDSN era TRUE, ma non è stato possibile rimuovere uno o più DSN. Chiamata a SQLConfigDriver con la richiesta di ODBC_REMOVE_DRIVER non riuscita.
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

SQLRemoveDriver integra la funzione SQLInstallDriverEx e aggiorna il numero di utilizzo dei componenti nelle informazioni di sistema. Questa funzione deve essere chiamata solo da un'applicazione di installazione.

SQLRemoveDriver decrementerà il valore del numero di utilizzo del componente di 1. Se il numero di utilizzo dei componenti passa a 0, si verificherà quanto segue:

  1. Verrà chiamata la funzione SQLConfigDriver con l'opzione ODBC_REMOVE_DRIVER. Se l'opzione fRemoveDSN è impostata su TRUE, la funzione ConfigDSN chiama SQLRemoveDSNFromIni per rimuovere tutte le origini dati associate al driver specificato in lpszDriver. Se l'opzione fRemoveDSN è impostata su FALSE, le origini dati non verranno eliminate.

  2. La voce del driver nelle informazioni di sistema verrà rimossa. La voce del driver si trova nel percorso delle informazioni di sistema seguente, sotto il nome del driver:

    HKEY_LOCAL_MACHINE

    SOFTWARE

    ODBC

    Odbcinst.ini

SQLRemoveDriver non rimuove effettivamente alcun file. Il programma chiamante è responsabile dell'eliminazione dei file e della gestione del numero di utilizzo dei file. Solo dopo che sia il numero di utilizzo dei componenti che il numero di utilizzo dei file hanno raggiunto zero è un file eliminato fisicamente. Alcuni file in un componente possono essere eliminati e altri non eliminati, a seconda che i file vengano usati da altre applicazioni che hanno incrementato il numero di utilizzo dei file.

SQLRemoveDriver viene chiamato anche come parte di un processo di aggiornamento. Se un'applicazione rileva che deve eseguire un aggiornamento e ha installato in precedenza il driver, il driver deve essere rimosso e quindi reinstallato. SQLRemoveDriver deve prima essere chiamato per decrementare il numero di utilizzo dei componenti e quindi è necessario chiamare SQLInstallDriverEx per incrementare il numero di utilizzo dei componenti. Il programma di installazione dell'applicazione deve sostituire i file precedenti con i nuovi file. Il numero di utilizzo dei file rimarrà invariato e altre applicazioni che usano i file di versione meno recenti useranno ora la versione più recente.

Per informazioni su Vedere
Aggiunta, modifica o rimozione di un driver ConfigDriver (nella DLL di installazione)
Aggiunta, modifica o rimozione di un driver SQLConfigDriver
Installazione di un driver SQLInstallDriverEx