Fonction SQLConfigDataSource
Conformité
Version introduite : ODBC 1.0
Résumé
SQLConfigDataSource ajoute, modifie ou supprime des sources de données.
Les fonctionnalités de SQLConfigDataSource sont également accessibles avec ODBCCONF.EXE.
Syntaxe
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);
Arguments
hwndParent
[Entrée] Poignée de fenêtre parente. La fonction n’affiche aucune boîte de dialogue si le handle est null.
fRequest
[Entrée] Type de demande. L’argument fRequest doit contenir l’une des valeurs suivantes :
ODBC_ADD_DSN : ajoutez une nouvelle source de données utilisateur.
ODBC_CONFIG_DSN : Configurer (modifier) une source de données utilisateur existante.
ODBC_REMOVE_DSN : supprimer une source de données utilisateur existante.
ODBC_ADD_SYS_DSN : ajoutez une nouvelle source de données système.
ODBC_CONFIG_SYS_DSN : modifiez une source de données système existante.
ODBC_REMOVE_SYS_DSN : supprimez une source de données système existante.
ODBC_REMOVE_DEFAULT_DSN : supprimez la section spécification de source de données par défaut des informations système. (Il supprime également la section spécification du pilote par défaut de l’entrée Odbcinst.ini dans les informations système. Cette requête fRequest exécute la même fonction que la fonction SQLRemoveDefaultDataSource dépréciée.) Lorsque cette option est spécifiée, tous les autres paramètres de l’appel à SQLConfigDataSource doivent être des VALEURS NULLs ; si elles ne sont pas NULL, elles sont ignorées.
lpszDriver
[Entrée] Description du pilote (généralement le nom du SGBD associé) présentée aux utilisateurs au lieu du nom du pilote physique.
lpszAttributes
[Entrée] Liste d’attributs à double terminaison null sous la forme de paires mot clé-valeur. Pour plus d’informations, consultez ConfigDSN.
Retours
La fonction retourne TRUE si elle réussit, FALSE en cas d’échec. S’il n’existe aucune entrée dans les informations système lorsque cette fonction est appelée, la fonction retourne FALSE.
Diagnostics
Lorsque SQLConfigDataSource 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 avait pas d’erreur de programme d’installation spécifique. |
ODBC_ERROR_INVALID_HWND | Handle de fenêtre non valide | L’argument hwndParent n’était pas valide ou null. |
ODBC_ERROR_INVALID_REQUEST_TYPE | Type de requête non valide | L’argument fRequest n’était pas l’un des éléments suivants : ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN |
ODBC_ERROR_INVALID_NAME | Nom du pilote ou du traducteur non valide | L’argument lpszDriver n’était pas valide. Il est introuvable dans le Registre. |
ODBC_ERROR_INVALID_KEYWORD_VALUE | Paires mot clé-valeur non valides | L’argument lpszAttributes contenait une erreur de syntaxe. |
ODBC_ERROR_REQUEST_FAILED | Échec de la demande | Le programme d’installation n’a pas pu effectuer l’opération demandée par l’argument fRequest . L’appel à ConfigDSN a échoué. |
ODBC_ERROR_LOAD_LIBRARY_FAILED | Impossible de charger le pilote ou la bibliothèque de configuration du traducteur | Impossible de charger la bibliothèque d’installation du pilote. |
ODBC_ERROR_OUT_OF_MEM | Mémoire insuffisante | Le programme d’installation n’a pas pu effectuer la fonction en raison d’un manque de mémoire. |
Commentaires
SQLConfigDataSource utilise la valeur de lpszDriver pour lire le chemin d’accès complet de la DLL d’installation du pilote à partir des informations système. Il charge la DLL et appelle ConfigDSN avec les mêmes arguments qui lui ont été passés.
SQLConfigDataSource retourne FALSE s’il ne parvient pas à trouver ou à charger la DLL d’installation ou si l’utilisateur annule la boîte de dialogue. Sinon, il retourne l’état qu’il a reçu de ConfigDSN.
SQLConfigDataSource mappe les requêtes fRequestde DSN système aux fRequestde DSN utilisateur (ODBC_ADD_SYS_DSN à ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN à ODBC_CONFIG_DSN et ODBC_REMOVE_SYS_DSN à ODBC_REMOVE_DSN). Pour distinguer les DSN utilisateur et système, SQLConfigDataSource définit le mode de configuration du programme d’installation en fonction du tableau suivant. Avant de revenir, SQLConfigDataSource réinitialise le mode de configuration à BOTHDSN. ConfigDSN (implémenté par les pilotes) doit appeler SQLWriteDSNToIni et SQLWritePrivateProfileString pour prendre en charge un DSN système. Pour plus d’informations, consultez Fonction ConfigDSN.
fRequest | Mode de configuration |
---|---|
ODBC_ADD_DSN | USERDSN_ONLY |
ODBC_CONFIG_DSN | USERDSN_ONLY |
ODBC_REMOVE_DSN | USERDSN_ONLY |
ODBC_ADD_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_CONFIG_SYS_DSN | SYSTEMDSN_ONLY |
ODBC_REMOVE_SYS_DSN | SYSTEMDSN_ONLY |
Fonctions connexes
Pour obtenir des informations sur | Consultez |
---|---|
Ajout, modification ou suppression d’une source de données | ConfigDSN (dans la DLL d’installation) |
Suppression d’un nom de source de données des informations système | SQLRemoveDSNFromIni |
Ajout d’un nom de source de données aux informations système | SQLWriteDSNToIni |