Partager via


SQLRemoveDriver, fonction

Conformité
Version introduite : ODBC 3.0

Résumé
SQLRemoveDriver modifie ou supprime des informations sur le pilote de l’entrée Odbcinst.ini dans les informations système.

Syntaxe

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

Arguments

lpszDriver
[Entrée] Nom du pilote tel qu’inscrit dans le Odbcinst.ini clé des informations système.

fRemoveDSN
[Entrée] Les valeurs valides sont les suivantes :

TRUE : supprimez les DSN associés au pilote spécifié dans lpszDriver. FALSE : ne supprimez pas les DSN associés au pilote spécifié dans lpszDriver.

lpdwUsageCount
[Sortie] Nombre d’utilisation du pilote après l’appel de cette fonction.

Retours

La fonction retourne TRUE si elle réussit, et FALSE si elle échoue. Si aucune entrée n’existe dans les informations système lorsque cette fonction est appelée, la fonction retourne FALSE.

Diagnostics

Lorsque SQLRemoveDriver retourne FALSE, une valeur *pfErrorCode associée peut être obtenue en appelant SQLInstallerError. Le tableau suivant répertorie les valeurs *pfErrorCode qui peuvent être retournées par SQLInstallerError et explique chacune d’elles dans le contexte de cette fonction.

*pfErrorCode Error Description
ODBC_ERROR_GENERAL_ERR Erreur générale du programme d’installation Une erreur s’est produite pour laquelle il n’y a pas eu d’erreur de programme d’installation spécifique.
ODBC_ERROR_COMPONENT_NOT_FOUND Composant introuvable dans le Registre Le programme d’installation n’a pas pu supprimer les informations du pilote, car elles n’existaient pas dans le Registre ou étaient introuvables dans le Registre.
ODBC_ERROR_INVALID_NAME Nom du pilote ou du traducteur non valide L’argument lpszDriver n’était pas valide.
ODBC_ERROR_USAGE_UPDATE_FAILED Impossible d’incrémenter ou de décrémenter le nombre d’utilisation des composants Le programme d’installation n’a pas réussi à décrémenter le nombre d’utilisation du pilote.
ODBC_ERROR_REQUEST_FAILED Échec de la demande L’argument fRemoveDSN était TRUE ; toutefois, un ou plusieurs DSN n’ont pas pu être supprimés. L’appel à SQLConfigDriver avec la requête ODBC_REMOVE_DRIVER a échoué.
ODBC_ERROR_OUT_OF_MEM Mémoire insuffisante Le programme d’installation n’a pas pu exécuter la fonction en raison d’un manque de mémoire.

Commentaires

SQLRemoveDriver complète la fonction SQLInstallDriverEx et met à jour le nombre d’utilisation des composants dans les informations système. Cette fonction doit être appelée uniquement à partir d’une application d’installation.

SQLRemoveDriver décrémente la valeur du nombre d’utilisation des composants de 1. Si le nombre d’utilisation des composants passe à 0, les opérations suivantes se produisent :

  1. La fonction SQLConfigDriver avec l’option ODBC_REMOVE_DRIVER sera appelée. Si l’option fRemoveDSN a la valeur TRUE, la fonction ConfigDSN appelle SQLRemoveDSNFromIni pour supprimer toutes les sources de données associées au pilote spécifié dans lpszDriver. Si l’option fRemoveDSN a la valeur FALSE, les sources de données ne sont pas supprimées.

  2. L’entrée du pilote dans les informations système sera supprimée. L’entrée du pilote se trouve à l’emplacement d’informations système suivant, sous le nom du pilote :

    HKEY_LOCAL_MACHINE

    SOFTWARE

    ODBC

    Odbcinst.ini

SQLRemoveDriver ne supprime pas réellement les fichiers. Le programme appelant est responsable de la suppression des fichiers et de la gestion du nombre d’utilisation des fichiers. Un fichier est supprimé physiquement uniquement une fois que le nombre d’utilisation des composants et le nombre d’utilisation des fichiers ont atteint zéro. Certains fichiers d’un composant peuvent être supprimés et d’autres non supprimés, selon que les fichiers sont utilisés ou non par d’autres applications qui ont incrémenté le nombre d’utilisation des fichiers.

SQLRemoveDriver est également appelé dans le cadre d’un processus de mise à niveau. Si une application détecte qu’elle doit effectuer une mise à niveau et qu’elle a déjà installé le pilote, le pilote doit être supprimé, puis réinstallé. SQLRemoveDriver doit d’abord être appelé pour décrémenter le nombre d’utilisation des composants, puis SQLInstallDriverEx doit être appelé pour incrémenter le nombre d’utilisation des composants. Le programme d’installation de l’application doit remplacer les anciens fichiers par les nouveaux fichiers. Le nombre d’utilisation des fichiers reste le même, et les autres applications qui utilisent les fichiers de version antérieure utilisent désormais la version la plus récente.

Pour obtenir des informations sur Consultez
Ajout, modification ou suppression d’un pilote ConfigDriver (dans la DLL d’installation)
Ajout, modification ou suppression d’un pilote SQLConfigDriver
Installation d’un pilote SQLInstallDriverEx