Comment faire pour configurer des sources de données ODBC à la volée

Traductions disponibles Traductions disponibles
Numéro d'article: 110507 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Vous pouvez configurer par programmation les noms de source de données ODBC (Open Database Connectivity). Ceci offre une plus grande flexibilité pour exporter des données sans forcer l'utilisateur d'utiliser explicitement l'administrateur ODBC ou d'autres programmes pour spécifier les noms de sources de données. Cela peut, par exemple, activer le programme pour utiliser l'API ODBC (application programming interface) pour exporter un fichier .xls. Pour ce faire, utilisez la fonction SQLConfigDataSource().

L'exemple suivant utilise SQLConfigDataSource pour créer une nouvelle source de données Excel appelée «New Excel Data Source»:
   SQLConfigDataSource(NULL,ODBC_ADD_DSN,
     (LPSTR) "Excel Files (*.xls)",
     (LPSTR) "DSN=New Excel Data Source\0"
     "Description=New Excel Data Source\0"
     "FileType=Excel\0"
     "DataDirectory=C:\\EXCELDIR\0"
     "MaxScanRows=20\0");
Notez que la source de données est en fait un répertoire (C:\EXCELDIR). Le pilote Excel a répertoires comme ses sources de données et les fichiers que les tables individuelles (une table par fichier .xls).

Pour plus d'informations sur la création de tables, consultez les articles suivants dans la base de connaissances Microsoft :
110508Création de tables avec des classes de bases de données Foundation
Les informations ci-dessous décrit les paramètres qui doivent être transmis à la fonction API de ODBC SQLConfigDataSource(). Pour utiliser la fonction SQLConfigDataSource(), vous devez inclure le fichier d'en-tête ODBCINST.H et utiliser la bibliothèque d'importation ODBCINST.LIB.

Remarque : Pour les applications 32 bits, vous devez toujours inclure fichier d'en-tête ODBCINST.H, toutefois, vous devez maintenant lier avec ODBCCP32.lib

Remarque : Les informations contenues dans cet article sont dupliquées dans la «programmation avec MFC Encyclopédie' livrée avec Visual C++ 4.0. L'article peut être trouvé en recherchant «SQLConfigDataSource» et en sélectionnant l'article intitulé «Forum aux questions: configuration par programmation d'une source de données ODBC».

Plus d'informations

Remarque : Cet article a été écrit à l'origine pour les composants ODBC 16 bits uniquement. Les composants ODBC 16 bits fichiers INI permettent de stocker des informations sur les sources de données configuré (ODBC.ini) et installé les pilotes (ODBCINST.ini). Les composants ODBC 32 bits ne plus utilisent les fichiers INI, mais au lieu de cela, écrivent ces informations dans le Registre. Informations de source de données système et les informations de pilote installé sont stockées dans ODBC\ HKEY_LOCAL_MACHINE\SOFTWARE\ dans le fichier ODBC.ini et Odbcinst.ini, respectivement. Sources de données non-système sont stockés dans HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI. Dans le reste de cet article, les références à ODBC.ini doivent être interprétés comme faisant référence à la section appropriée du Registre si vous utilisez les composants ODBC 32 bits.

Un nom de source de données ODBC peut être créé à l'aide de l'administrateur ODBC ou d'un utilitaire similaire. Toutefois, il est parfois souhaitable de créer un nom de source de données directement à partir de votre application afin que l'accès peut être obtenu sans exiger de l'utilisateur exécuter un utilitaire distinct.

L'administrateur ODBC (installé généralement dans le Panneau de configuration Windows) crée une nouvelle source de données en ajoutant des entrées dans le fichier ODBC.ini. Ce fichier est interrogé par le Gestionnaire de pilote ODBC pour obtenir les informations requises sur la source de données. Il est important de savoir quelles informations doivent être placé dans le fichier ODBC.ini car vous devrez fournir avec l'appel à SQLConfigDataSource().

Bien qu'il soit pourraient d'écrire ces informations directement dans le fichier ODBC.ini [sans utiliser SQLConfigDataSource()], toute application qui effectue cette opération repose sur la technique actuelle utilisée par le Gestionnaire de pilote pour conserver ses données. Si une révision ultérieure au Gestionnaire de pilote ODBC implémente enregistrer maintenant sur les sources de données dans une autre façon, n'importe quelle application utilisé cette technique sera rompue. Il est généralement conseillé d'utiliser une fonction API lorsqu'une est fournie.

Ci-dessous, vous trouverez une explication des paramètres de la fonction SQLConfigDataSource(). La plupart des informations provient de référence du programmeur API ODBC livré avec Visual C++ version 1.5. Prototype de fonction :
   BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest,
                            LPCSTR lpszDriver,
                            LPCSTR lpszAttributes);
hwndParent - il s'agit de la fenêtre qui sera utilisée en tant que propriétaire de toutes les boîtes de dialogue qui sont créés par le Gestionnaire de pilote ou le pilote ODBC spécifique pour obtenir des informations supplémentaires à partir de l'utilisateur sur la nouvelle source de données. S'il n'y a pas suffisamment d'informations fournie dans le paramètre lpszAttributes, une boîte de dialogue s'affiche. Ce paramètre peut être NULL, consultez la référence pour plus d'informations.

fRequest - l'opération à effectuer. Les valeurs possibles sont :
                      ODBC_ADD_DSN: Add new user data
                        source.
                      ODBC_CONFIG_DSN: Modify an
                        existing data source.
                      ODBC_REMOVE_DSN: Remove an
                        existing data source.
les valeurs suivantes sont disponibles dans ODBC 2.53.0 ou version ultérieure 32 bits uniquement :
                      ODBC_ADD_SYS_DSN: Add a new
                        system data source.
                      ODBC_CONFIG_SYS_DSN: Modify
                        an existing system data
                        source.
                      ODBC_REMOVE_SYS_DSN: Remove
                        an existing system data
                        source.
lpszDriver - description du pilote. Comme la documentation mentionne, il s'agit du nom présenté aux utilisateurs plutôt que le pilote physique (la DLL). Vous pouvez déterminer la description d'un pilote à l'aide du programme Administrateur de ODBC comme suit :

  1. Exécutez le programme Administrateur ODBC.
  2. Choisissez Ajouter. Cela vous donnera une liste des pilotes installés.
La liste contient les descriptions de pilote. Il s'agit de cette description que vous utiliserez comme paramètre lpszDriver. Notez que la description de l'ensemble est utilisée [par exemple «Fichiers Excel (*.xls)»] y compris l'extension de fichier et les parenthèses s'ils existent dans la description.

Si vous le souhaitez, vous pouvez examiner le fichier Odbcinst.ini, qui contient une liste de toutes les entrées des pilotes et les descriptions dans la section [ODBC Drivers].

lpszAttributes - liste d'attributs sous la forme «keyname = value». Ces chaînes sont séparées par des indicateurs de fin null avec deux terminateurs null consécutives à la fin de la liste. Ces attributs sera principalement des entrées spécifiques du pilote par défaut, lequel aller dans le fichier ODBC.ini pour la nouvelle source de données. Une clé importante, qui n'est pas mentionnée dans la référence des ODBC API pour cette fonction est «DSN» qui spécifie le nom de la nouvelle source de données. Le reste des entrées sont spécifiques au pilote pour la nouvelle source de données. Heures souvent il n'est pas nécessaire de fournir toutes les entrées car le pilote peut inviter l'utilisateur (si hwndParent n'est pas NULL) avec les boîtes de dialogue pour les nouvelles valeurs. Vous pouvez souhaiter explicitement les valeurs par défaut approvisionnement afin que l'utilisateur n'est pas invité.

Outre la méthode qui consiste à trouver les noms de clé et leurs valeurs, vous souhaitez examiner les entrées de Registre pour une source de données déjà configurée (peut-être un qui a été configuré par le programme Administrateur ODBC) :

Important Cette section, la méthode ou la tâche contient des étapes qui vous indiquent comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, assurez-vous que vous procédez comme suit avec soin. Pour plus de protection, sauvegardez le Registre avant de le modifier. Ensuite, vous pouvez restaurer le Registre en cas de problème. Pour plus d'informations sur la façon de sauvegarder et restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
322756Comment faire pour sauvegarder et restaurer le Registre dans Windows

  1. À l'aide de regedit atteindre HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
  2. Recherchez la ruche qui correspond à votre nom de source de données. Vous y trouverez les paires mot clé. Avertissement, modifiez manuellement des valeurs de Registre peut provoquer une instabilité du système et éventuellement une défaillance irrécupérable.
Vous pouvez également souhaiter examiner la documentation relative au pilote que vous vous apprêtez à utiliser. Vous trouverez des informations utiles dans l'aide en ligne pour le pilote, qui sont accessibles en exécutant l'administrateur ODBC : cliquez sur Ajouter, sélectionnez le nom du pilote et cliquez sur OK. Lorsque les informations pour créer une nouvelle source de données s'affiche pour ce pilote spécifique, sélectionnez aide. Ceci ouvrira le fichier d'aide pour ce pilote spécifique, qui contient généralement des informations importantes concernant l'utilisation du pilote.

Références

Du programmeur ODBC Reference and SDK Guide (disponible dans la documentation en ligne).

Propriétés

Numéro d'article: 110507 - Dernière mise à jour: mardi 29 juin 2004 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Mots-clés : 
kbmt kbdatabase kbhowto KB110507 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 110507
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com