Freigeben über


SQLRemoveDriver-Funktion

Konformität
Version eingeführt: ODBC 3.0

Zusammenfassung
SQLRemoveDriver ändert oder entfernt Informationen zum Treiber aus dem Odbcinst.ini Eintrag in den Systeminformationen.

Syntax

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

Argumente

lpszDriver
[Eingabe] Der Name des Treibers, der im Odbcinst.ini Schlüssel der Systeminformationen registriert ist.

fRemoveDSN
[Eingabe] Die gültigen Werte sind:

TRUE: Entfernen Sie DSNs, die dem in lpszDriver angegebenen Treiber zugeordnet sind. FALSE: Entfernen Sie keine DSNs, die dem in lpszDriver angegebenen Treiber zugeordnet sind.

lpdwUsageCount
[Ausgabe] Die Nutzungsanzahl des Treibers, 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 SQLRemoveDriver 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 Treiberinformationen 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 argument lpszDriver 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_REQUEST_FAILED Fehler bei der Anforderung Das fRemoveDSN-Argument lautet TRUE. ein oder mehrere DSNs konnten jedoch nicht entfernt werden. Beim Aufruf von SQLConfigDriver mit der ODBC_REMOVE_DRIVER Anforderung ist ein Fehler aufgetreten.
ODBC_ERROR_OUT_OF_MEM Nicht genügend Arbeitsspeicher. Das Installationsprogramm konnte die Funktion aufgrund eines Mangels an Arbeitsspeicher nicht ausführen.

Kommentare

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

SQLRemoveDriver dekrementiert den Wert der Komponentennutzungsanzahl um 1. Wenn die Anzahl der Komponentennutzung auf 0 lautet, tritt Folgendes auf:

  1. Die SQLConfigDriver-Funktion mit der Option ODBC_REMOVE_DRIVER wird aufgerufen. Wenn die Option fRemoveDSN auf TRUE festgelegt ist, ruft die ConfigDSN-FunktionSQLRemoveDSNFromIni auf, um alle Datenquellen zu entfernen, die dem in lpszDriver angegebenen Treiber zugeordnet sind. Wenn die Option fRemoveDSN auf FALSE festgelegt ist, werden die Datenquellen nicht gelöscht.

  2. Der Treibereintrag in den Systeminformationen wird entfernt. Der Treibereintrag befindet sich unter dem Namen des Treibers am folgenden Speicherort für Systeminformationen:

    HKEY_LOCAL_MACHINE

    SOFTWARE

    ODBC

    Odbcinst.ini

SQLRemoveDriver entfernt eigentlich keine Dateien. Das aufrufende Programm ist für das Löschen von Dateien und die Beibehaltung der Anzahl der Dateinutzungen 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.

SQLRemoveDriver wird auch als Teil 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. SQLRemoveDriver sollte zuerst aufgerufen werden, um die Anzahl der Komponentennutzung zu verringern, und dann SQLInstallDriverEx sollte aufgerufen werden, um die Anzahl der Komponentennutzung zu erhöhen. Das Programm zum Einrichten der Anwendung muss die alten Dateien 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
Hinzufügen, Ändern oder Entfernen eines Treibers ConfigDriver (in der Setup-DLL)
Hinzufügen, Ändern oder Entfernen eines Treibers SQLConfigDriver
Installieren eines Treibers SQLInstallDriverEx