Freigeben über


SQLRemoveTranslator-Funktion

Konformität
Version eingeführt: ODBC 3.0

Zusammenfassung
SQLRemoveTranslator entfernt Informationen zu einem Übersetzer aus dem Odbcinst.ini Abschnitt der Systeminformationen und verringert die Anzahl der Komponentenverwendung des Übersetzers um 1.

Syntax

  
BOOL SQLRemoveTranslator(  
     LPCSTR    lpszTranslator,  
     LPDWORD   lpdwUsageCount);  

Argumente

lpszTranslator
[Eingabe] Der Name des Übersetzers, der im Odbcinst.ini Schlüssel der Systeminformationen registriert ist.

lpdwUsageCount
[Ausgabe] Die Nutzungsanzahl des Übersetzers, nachdem diese Funktion aufgerufen wurde.

Gibt zurück

Die Funktion gibt TRUE zurück, wenn sie erfolgreich ist, FALSE, wenn sie fehlschlägt. Wenn beim Aufruf dieser Funktion kein Eintrag in den Systeminformationen vorhanden ist, gibt die Funktion FALSE zurück.

Diagnose

Wenn SQLRemoveTranslator FALSE zurückgibt, kann ein zugeordneter *pfErrorCode-Wert abgerufen werden, indem SQLInstallerError aufgerufen wird. In der folgenden Tabelle sind die *pfErrorCode-Werte aufgeführt, die von SQLInstallerError zurückgegeben werden können, und die einzelnen Werte im Kontext dieser Funktion werden erläutert.

*pfErrorCode Fehler BESCHREIBUNG
ODBC_ERROR_GENERAL_ERR Allgemeiner Installationsfehler Es ist ein Fehler aufgetreten, für den kein spezifischer Installerfehler aufgetreten ist.
ODBC_ERROR_COMPONENT_NOT_FOUND Komponente nicht in der Registrierung gefunden Das Installationsprogramm konnte die Übersetzerinformationen nicht entfernen, da sie entweder nicht in der Registrierung vorhanden waren oder nicht in der Registrierung gefunden werden konnten.
ODBC_ERROR_INVALID_NAME Ungültiger Treiber- oder Übersetzername Das lpszTranslator-Argument war ungültig.
ODBC_ERROR_USAGE_UPDATE_FAILED Die Anzahl der Komponentennutzung konnte nicht erhöht oder verringert werden. Das Installationsprogramm konnte die Nutzungsanzahl des Treibers nicht erhöhen.
ODBC_ERROR_OUT_OF_MEM Nicht genügend Arbeitsspeicher. Das Installationsprogramm konnte die Funktion aufgrund eines Mangels an Arbeitsspeicher nicht ausführen.

Kommentare

SQLRemoveTranslator ergänzt die SQLInstallTranslatorEx-Funktion und aktualisiert die Anzahl der Komponentennutzung in den Systeminformationen. Diese Funktion sollte nur von einer Setupanwendung aufgerufen werden.

SQLRemoveTranslator dekrementiert die Anzahl der Komponentennutzung um 1. Wenn die Anzahl der Komponentennutzung auf 0 lautet, wird der Übersetzereintrag in den Systeminformationen entfernt. Der Übersetzereintrag befindet sich unter dem Namen des Übersetzers am folgenden Speicherort in den Systeminformationen:

HKEY_LOCAL_MACHINE

SOFTWARE

ODBC

Odbcinst.ini

SQLRemoveTranslator entfernt eigentlich keine Dateien. Das aufrufende Programm ist für das Löschen von Dateien und die Verwaltung der Anzahl der Dateinutzung verantwortlich. Erst nachdem sowohl die Anzahl der Komponentennutzung als auch die Anzahl der Dateinutzungen 0 erreicht haben, wird eine Datei physisch gelöscht. Einige Dateien in einer Komponente können gelöscht und andere nicht gelöscht werden, je nachdem, ob die Dateien von anderen Anwendungen verwendet werden, die die Anzahl der Dateinutzung erhöht haben.

SQLRemoveTranslator wird auch im Rahmen eines Upgradeprozesses aufgerufen. Wenn eine Anwendung erkennt, dass sie ein Upgrade durchführen muss und den Treiber zuvor installiert hat, sollte der Treiber entfernt und dann erneut installiert werden. SQLRemoveTranslator sollte zuerst aufgerufen werden, um die Anzahl der Komponentennutzung zu verringern, und dann sqlInstallTranslatorEx sollte aufgerufen werden, um die Anzahl der Komponentennutzung zu erhöhen. Das Anwendungsprogramm muss die alten Dateien physisch durch die neuen Dateien ersetzen. Die Anzahl der Dateiverwendungen bleibt unverändert, und andere Anwendungen, die dateien der älteren Version verwenden, verwenden jetzt die neuere Version.

Informationen über Finden Sie unter
Installieren eines Übersetzers SQLInstallTranslatorEx