Procédure pas à pas : création d'une application occasionnellement connectée à l'aide de l'Assistant Configuration de source de données

Mise à jour : Juillet 2008

À partir de Visual Studio 2008 SP1, outre la boîte de dialogue Configurer la synchronisation des données, vous pouvez également utiliser l'Assistant Configuration de source de données pour configurer la synchronisation. Cette procédure pas à pas décrit les étapes détaillées du développement d'une application occasionnellement connectée en incorporant Synchronization Services lorsque vous exécutez l'Assistant Configuration de source de données.

Les applications occasionnellement connectées sont des applications qui ne peuvent pas avoir toujours accès aux données distantes. Étant donné qu'elles ne disposent pas toujours de cet accès, elles utilisent les données d'une base de données locale située sur le client et synchronisent régulièrement les données entre la base de données distante et la base de données locale. La synchronisation des données entre les bases de données locales et distantes est facilitée par Microsoft Synchronization Services pour ADO.NET (espace de noms Microsoft.Synchronization.Data). Vous créez initialement cette synchronisation en ajoutant un cache de base de données locale à une application à l'aide de la boîte de dialogue Ajouter un nouvel élément, ou en exécutant l'Assistant Configuration de source de données. Dans cette procédure pas à pas, vous allez utiliser la deuxième approche.

Au cours de cette procédure, vous exécuterez les tâches suivantes :

  • Créer une nouvelle application Windows Forms.

  • Exécuter l'Assistant Configuration de source de données pour configurer un groupe de données typés possédant un cache de base de données locale.

  • Créer un Windows Form pour afficher les données et confirmer la synchronisation.

  • Ajouter du code pour initialiser la synchronisation entre les bases de données.

  • Ajouter un message pour afficher des informations à propos du nombre d'enregistrements synchronisés.

Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :

Étant donné que vous allez afficher les données sur un Windows Form (pour vérifier que la synchronisation est réussie), la première étape de cette procédure pas à pas consiste à créer une application Windows Forms.

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Pour créer une application Windows Forms

  1. Dans le menu Fichier, créez un nouveau projet.

  2. Nommez le projet OCSWalkthrough2.

  3. Cliquez sur le modèle Application Windows Forms, puis sur OK. Pour plus d'informations, consultez Création d'applications Windows.

    Le projet OCSWalkthrough2 est créé et ajouté à l'Explorateur de solutions.

Étant donné que cette procédure pas à pas illustre comment incorporer Synchronization Services dans une application à l'aide de l'Assistant Configuration de source de données, l'étape suivante consiste à démarrer l'Assistant. Cette étape démarre l'Assistant et crée un groupe de données à partir des tables Customers de l'exemple de base de données Northwind. Lorsque vous choisissez la table de la base de données à ajouter au groupe de données, vous sélectionnez l'option d'activation de la mise en cache des données locales.

Pour créer une source de données qui comprend un cache de base de données locale

  1. Dans le menu Données, cliquez sur Afficher les sources de données.

  2. Dans la fenêtre Sources de données, cliquez sur Ajouter une nouvelle source de données pour lancer l'Assistant Configuration de source de données.

  3. Dans la page Choisir un type de source de données, gardez la valeur par défaut Base de données sélectionnée, puis cliquez sur Suivant.

  4. Sur la page Choisir votre connexion de données, effectuez l'une des opérations suivantes :

    • Si une connexion de données à la version SQL Server de l'exemple de base de données est disponible dans la liste déroulante, sélectionnez-la.

      - ou -

    • Cliquez sur Nouvelle connexion pour ouvrir la boîte de dialogue Choisir la source de données ou Ajouter/Modifier la connexion et créer une connexion à la version SQL Server de la base de données Northwind. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).

  5. Si un mot de passe est requis pour la base de données, sélectionnez l'option pour inclure les données sensibles, puis cliquez sur Suivant.

  6. Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.

  7. Développez le nœud Tables dans la page Choisir vos objets de base de données.

  8. Sélectionnez la table Customers.

  9. Sélectionnez Activer la mise en cache de la base de données locale.

  10. Cliquez sur Suivant dans la page Choisir vos objets de base de données.

  11. Sélectionnez la table Customers dans la page Choisir les tables à mettre en cache.

    Remarque :

    Conservez la valeur par défaut Incrémentiel dans le champ Mode de synchronisation. Le mode Incrémentiel ne synchronise que les modifications effectuées sur le serveur depuis la dernière synchronisation. Le mode Instantané remplace la totalité de la table mise en cache localement par la table actuelle sur le serveur. L'intégralité de la table est chargée initialement dans le cache de la base de données locale indépendamment de cette sélection, afin que vous démarriez toujours avec un jeu de données actuelles complet.

  12. Cliquez sur Terminer.

  13. Si le mode de synchronisation de l'une des tables mises en cache localement a la valeur Modifications nouvelles et incrémentielles après la première synchronisation, des mises à jour sont requises sur la base de données SQL Server et la boîte de dialogue Générer les scripts SQL s'ouvre. Par défaut, ces deux options de la boîte de dialogue sont sélectionnées :

    • Mettre à jour le serveur pour les modifications incrémentielles. Sélectionnez cette option pour mettre à jour automatiquement le serveur afin de permettre la synchronisation incrémentielle aussitôt cette boîte de dialogue fermée.

    • Enregistrer les scripts SQL dans le projet pour une utilisation ultérieure. Sélectionnez cette option pour ajouter les scripts SQL générés au projet afin qu'ils puissent être exécutés ultérieurement sur la base de données SQL Server. Des scripts d'annulation sont également générés et ajoutés au projet.

  14. Cliquez sur OK.

Une fois que vous avez terminé d'exécuter l'Assistant Configuration de source de données dans les étapes précédentes, la synchronisation des données est configurée. Votre application contient alors les éléments suivants :

  • Une version locale de la base de données Northwind (Northwind.sdf).

  • Un fichier de paramètres de synchronisation de données (NorthwindCache.sync).

  • Un groupe de données typé, NorthwindDataSet.xsd, généré par l'Assistant Configuration de source de données. Celui-ci contient une table Customers qui est remplie à partir de la base de données locale.

    Une synchronisation initiale est exécutée et la table Customers dans le cache de la base de données locale est synchronisée avec la base de données serveur. En d'autres termes, la table Customers de la base de données SQL Server Compact 3.5 locale (Northwind.sdf) est remplie avec les données qui se trouvent actuellement dans la table Customers de la base de données sur le serveur.

  • Un dossier SQLScripts contenant les scripts utilisés pour créer les colonnes de suivi, la table des éléments supprimés et les déclencheurs requis pour le suivi des modifications sur le serveur.

  • Un dossier SQLUndoScripts contenant des scripts pour supprimer les colonnes de suivi, la table des éléments supprimés et les déclencheurs requis qui ont été ajoutés au serveur.

    Remarque :

    Les scripts SQL ne sont créés que si des modifications doivent être effectuées sur le serveur. Aucun script n'est créé si le serveur contient déjà une table des éléments supprimés et des colonnes de suivi.

  • Références aux DLL suivantes de Microsoft Synchronization Services pour ADO.NET :

    • Microsoft.Synchronization.Data

    • Microsoft.Synchronization.Data.Server

    • Microsoft.Synchronization.Data.SqlServerCe

Après avoir configuré la synchronisation de données, vous devez ajouter les fonctionnalités de synchronisation à votre application. Plus spécifiquement, vous devez ajouter du code qui initie le processus de synchronisation. Vous allez ajouter des contrôles au formulaire pour afficher les données et démarrer le processus de synchronisation.

Tout d'abord, vous allez ajouter un contrôle DataGridView en faisant glisser le nœud Customers de la fenêtre Sources de données vers le formulaire. DataGridView affiche la table Customers à partir du cache de la base de données locale (base de données Northwind.sdf qui se trouve dans le projet) afin que vous puissiez vérifier que les données sont en cours de synchronisation entre les bases de données locale et distante. Vous allez également ajouter un bouton pour démarrer le processus de synchronisation.

Pour créer un formulaire lié aux données pour initialiser et vérifier la synchronisation de données

  1. Faites glisser le nœud Customers depuis la fenêtre Sources de données jusqu'à Form1.

  2. Faites glisser un contrôle Button de la boîte à outils vers Form1. Affectez la valeur SynchronizeButton à la propriété Name et Synchronize Now. à la propriété Text.

  3. Double-cliquez sur le bouton Synchroniser maintenant pour créer un gestionnaire d'événements lié à un clic sur un bouton et ouvrez le formulaire dans l'éditeur de code.

  4. Ajoutez du code pour démarrer le processus de synchronisation, puis remplissez la table Customers dans le groupe de données. Le code dans le gestionnaire d'événements doit se présenter comme suit :

    Remarque :

    La ligne de code qui déclare la variable syncStats est expliquée ultérieurement dans ce document.

    // Call the Synchronize method to synchronize
    // data between local and remote databases.
    NorthwindCacheSyncAgent syncAgent = new NorthwindCacheSyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats;
    syncStats = syncAgent.Synchronize();
    // After synchronizing the data, refill the
    // table in the dataset.
    this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
    
    
    

Pour tester l'application

  1. Appuyez sur F5.

  2. Pendant que l'application s'exécute, utilisez l'Explorateur de serveurs/Explorateur de bases de données (ou un autre outil de gestion de base de données) pour vous connecter à la base de données serveur distante et modifier des enregistrements.

    1. Dans l'Explorateur de serveurs/Explorateur de bases de données, localisez la table Customers sur le serveur de base de données distante (et non pas la connexion à Northwind.sdf).

    2. Cliquez avec le bouton droit sur la table Customers et sélectionnez Afficher les données de la table.

    3. Modifiez un ou plusieurs enregistrements et validez les modifications. Quittez la ligne modifiée.

  3. Revenez au formulaire et cliquez sur Synchroniser maintenant.

  4. Vérifiez que les modifications apportées à la base de données distante sont synchronisées avec la base de données locale et sont affichées dans le formulaire.

  5. Fermez le formulaire. Arrêtez le débogage.

Lorsque vous appelez la méthode Synchronize, cela ne fait pas qu'initier le processus de synchronisation. La méthode Synchronize retourne également un objet SyncStatistics à partir duquel vous pouvez accéder aux informations sur la synchronisation.

Pour accéder aux statistiques de synchronisation

  • Ouvrez Form1 dans l'éditeur de code et ajoutez le code suivant au bas du gestionnaire d'événements SynchronizeButton_Click, en dessous du code ajouté lors des étapes précédentes :

    MessageBox.Show("Changes downloaded: " +
        syncStats.TotalChangesDownloaded.ToString());
    
    
    

Pour tester l'application

  1. Appuyez sur F5.

  2. Pendant que l'application s'exécute, utilisez l'Explorateur de serveurs/Explorateur de bases de données (ou un autre outil de gestion de base de données) pour vous connecter à la base de données serveur distante et modifier des enregistrements.

    1. Dans l'Explorateur de serveurs/Explorateur de bases de données, localisez la table Customers sur le serveur de base de données distante (et non pas la connexion à Northwind.sdf).

    2. Cliquez avec le bouton droit sur la table Customers et sélectionnez Afficher les données de la table.

    3. Modifiez un ou plusieurs enregistrements et validez les modifications. Quittez la ligne modifiée.

  3. Revenez au formulaire et cliquez sur Synchroniser maintenant.

  4. Une zone de message contenant des informations sur les enregistrements synchronisés s'affiche.

  5. Vérifiez que les modifications apportées à la base de données distante sont synchronisées avec la base de données locale et sont affichées dans le formulaire.

Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après avoir configuré un cache de base de données locale dans une application. Par exemple, vous pouvez apporter les améliorations suivantes à cette application :

Date

Historique

Raison

Juillet 2008

Rubrique ajoutée.

Modifications de fonctionnalités dans le SP1.

Ajouts de la communauté

Afficher: