Partager via


Source de données : gestion des connexions (ODBC)

Cette rubrique s’applique aux classes ODBC MFC.

Cette rubrique explique :

La connexion à une source de données signifie établir des communications avec un SGBD pour accéder aux données. Lorsque vous vous connectez à une source de données à partir d’une application via un pilote ODBC, le pilote établit la connexion pour vous, localement ou sur un réseau.

Vous pouvez vous connecter à n’importe quelle source de données pour laquelle vous disposez d’un pilote ODBC. Les utilisateurs de votre application doivent également avoir le même pilote ODBC pour leur source de données. Pour plus d’informations sur la redistribution des pilotes ODBC, consultez Redistribuer des composants ODBC à vos clients.

Configuration d’une source de données

L’administrateur ODBC est utilisé pour configurer vos sources de données. Vous pouvez également utiliser l’administrateur ODBC après l’installation pour ajouter ou supprimer des sources de données. Lorsque vous créez des applications, vous pouvez diriger vos utilisateurs vers l’administrateur ODBC pour leur permettre d’ajouter des sources de données ou de créer cette fonctionnalité dans votre application en effectuant des appels d’installation ODBC directs. Pour plus d’informations, consultez l’administrateur ODBC.

Vous pouvez utiliser un fichier Excel comme source de données, et vous devez configurer le fichier afin qu’il soit inscrit et s’affiche dans la boîte de dialogue Sélectionner une source de données.

Pour utiliser un fichier Excel comme source de données

  1. Configurez le fichier avec l’administrateur de source de données ODBC.

  2. Sous l’onglet Fichier DSN , cliquez sur Ajouter.

  3. Dans la boîte de dialogue Créer une source de données, sélectionnez un pilote Excel, puis cliquez sur Suivant.

  4. Cliquez sur Parcourir, puis sélectionnez le nom du fichier à utiliser comme source de date.

Remarque

Vous devrez peut-être sélectionner Tous les fichiers dans le menu déroulant pour afficher les fichiers .xls.

  1. Cliquez sur Suivant, puis sur Terminer.

  2. Dans la boîte de dialogue Installation d’ODBC Microsoft Excel, sélectionnez la version et le classeur de la base de données.

Utilisation d’un environnement multiutilisateur

Si plusieurs utilisateurs sont connectés à une source de données, ils peuvent modifier les données pendant que vous les manipulez dans vos jeux d’enregistrements. De même, vos modifications peuvent affecter les jeux d’enregistrements d’autres utilisateurs. Pour plus d’informations, consultez Recordset : How Recordsets Update Records (ODBC) and Transaction (ODBC).

Généralisation de la chaîne de connexion

Les Assistants utilisent un chaîne de connexion par défaut pour établir une connexion à une source de données. Vous utilisez cette connexion pour afficher les tables et les colonnes pendant le développement de votre application. Toutefois, cette chaîne de connexion par défaut peut ne pas convenir aux connexions de vos utilisateurs à la source de données via votre application. Par exemple, leur source de données et le chemin d’accès à son emplacement peuvent être différents de ceux utilisés dans le développement de votre application. Dans ce cas, vous devez réexémettre la fonction membre CRecordset ::GetDefaultConnect de manière plus générique et ignorer l’implémentation de l’Assistant. Par exemple, utilisez l’une des approches suivantes :

  • Inscrivez et gérez les chaîne de connexion à l’aide de l’administrateur ODBC.

  • Modifiez le chaîne de connexion et supprimez le nom de la source de données. Le framework fournit ODBC comme source de données ; au moment de l’exécution, ODBC affiche une boîte de dialogue demandant le nom de la source de données et toute autre information de connexion requise.

  • Fournissez le nom de la source de données uniquement. ODBC demande l’ID d’utilisateur et le mot de passe, si nécessaire. Par exemple, avant de généraliser, la chaîne de connexion ressemble à ceci :

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    Cette chaîne de connexion spécifie une connexion approuvée, qui utilise la sécurité intégrée windows NT. Vous devez éviter de coder en dur un mot de passe ou de spécifier un mot de passe vide, car cela crée une faiblesse majeure de la sécurité. Au lieu de cela, vous pouvez donner GetDefaultConnect une nouvelle chaîne de connexion afin qu’elle interroge un ID d’utilisateur et un mot de passe.

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

Connexion à une source de données spécifique

Pour vous connecter à une source de données spécifique, votre source de données doit déjà avoir été configurée avec l’administrateur ODBC.

Pour vous connecter à une source de données spécifique

  1. Construisez un CDatabase objet.

  2. Appelez sa OpenEx fonction ou Open membre.

Pour plus d’informations sur la façon de spécifier la source de données si elle est autre que celle que vous avez spécifiée avec un Assistant, consultez CDatabase ::OpenEx ou CDatabase ::Open dans la référence MFC.

Déconnexion d'une source de données

Vous devez fermer les jeux d’enregistrements ouverts avant d’appeler la Close fonction membre de CDatabase. Dans les recordsets associés à l’objet CDatabase que vous souhaitez fermer, toutes les instructions ou Edit en attente AddNew sont annulées et toutes les transactions en attente sont restaurées.

Pour vous déconnecter d’une source de données

  1. Appelez la fonction Close member de l’objetCDatabase.

  2. Détruisez l’objet, sauf si vous souhaitez le réutiliser.

Réutilisation d’un objet CDatabase

Vous pouvez réutiliser un CDatabase objet après sa déconnexion, que vous l’utilisiez pour vous reconnecter à la même source de données ou pour vous connecter à une autre source de données.

Pour réutiliser un objet CDatabase

  1. Fermez la connexion d’origine de l’objet.

  2. Au lieu de détruire l’objet, appelez à nouveau sa OpenEx fonction membre.Open

Voir aussi

Source de données (ODBC)
Source de données : détermination du schéma de la source de données (ODBC)
CRecordset, classe