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