Condividi tramite


Funzione SQLRemoveTranslator

Conformità
Versione introdotta: ODBC 3.0

Riepilogo
SQLRemoveTranslator rimuove le informazioni su un traduttore dalla sezione Odbcinst.ini delle informazioni di sistema e decrementa il numero di utilizzo dei componenti del traduttore di 1.

Sintassi

  
BOOL SQLRemoveTranslator(  
     LPCSTR    lpszTranslator,  
     LPDWORD   lpdwUsageCount);  

Argomenti

lpszTranslator
[Input] Nome del traduttore registrato nella chiave Odbcinst.ini delle informazioni di sistema.

lpdwUsageCount
[Output] Numero di utilizzo del traduttore 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 SQLRemoveTranslator 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 traduttore 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 lpszTranslator 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_OUT_OF_MEM Memoria insufficiente Il programma di installazione non è riuscito a eseguire la funzione a causa di una mancanza di memoria.

Commenti

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

SQLRemoveTranslator decrementerà il numero di utilizzo dei componenti di 1. Se il numero di utilizzo dei componenti passa a 0, la voce del traduttore nelle informazioni di sistema verrà rimossa. La voce del traduttore si trova nella posizione seguente nelle informazioni di sistema, sotto il nome del traduttore:

HKEY_LOCAL_MACHINE

SOFTWARE

ODBC

Odbcinst.ini

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

SQLRemoveTranslator 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. SQLRemoveTranslator deve prima essere chiamato per decrementare il numero di utilizzo dei componenti e quindi è necessario chiamare SQLInstallTranslatorEx per incrementare il numero di utilizzo dei componenti. Il programma di installazione dell'applicazione deve sostituire fisicamente 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
Installazione di un traduttore SQLInstallTranslatorEx