Comment : configurer la synchronisation de données pour l'utilisation du suivi des modifications SQL Server

Mise à jour : Juillet 2008

Dans Visual Studio 2008 SP1, la prise en charge de la fonction de suivi des modifications dans SQL Server 2008 a été ajoutée. La possibilité d'activer le suivi des modifications SQL Server pendant la configuration de Synchronization Services a été ajoutée dans la boîte de dialogue Configurer la synchronisation des données, outre l'Assistant Configuration de source de données.

Remarque :

L'option d'activation du suivi des modifications SQL Server est disponible uniquement lorsque la connexion au serveur de base de données distant est configurée pour se connecter à une base de données SQL Server 2008.

Les procédures ci-dessous décrivent les étapes à suivre pour configurer la synchronisation des données et activer le suivi des modifications SQL Server lorsque vous configurez Synchronization Services à l'aide de la boîte de dialogue Configurer la synchronisation des données. Pour obtenir un exemple qui utilise des données réelles et configure la synchronisation à l'aide de la boîte de dialogue Configurer la synchronisation des données, consultez Procédure pas à pas : création d'une application occasionnellement connectée.

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 configurer la synchronisation des données à l'aide de la boîte de dialogue Configurer la synchronisation des données

  1. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

  2. Cliquez sur le modèle Cache de base de données locale.

  3. Indiquez un autre nom ou conservez le nom par défaut (LocalDataCache1.sync).

  4. Cliquez sur Ajouter.

    Un fichier .sync est ajouté au projet et la boîte de dialogue Configurer la synchronisation des données s'ouvre.

  5. Dans le champ Connexion serveur, indiquez la base de données SQL Server 2008 distante à laquelle vous voulez vous connecter.

  6. Définissez la connexion client en fonction de la base de données SQL Server Compact 3.5 locale qui doit stocker vos données localement. Si vous ne disposez pas d'une base de données locale, utilisez le paramètre par défaut (NomBaseDonnées.sdf (nouveau)) pour créer une base de données dans le projet. Le nom de la nouvelle base de données est basé sur le nom de la base de données qui se trouve sur le serveur.

    Remarque :

    Le bouton OK est désactivé par défaut et s'active après l'ajout d'une table dans la zone Tables mises en cache.

  7. Sélectionnez Utiliser le suivi des modifications SQL Server. Par défaut, cette option est sélectionnée lorsque la valeur du champ Connexion serveur est une base de données SQL Server 2008.

  8. Cliquez sur Ajouter pour ouvrir la boîte de dialogue Configurer les tables pour une utilisation hors connexion.

  9. Sélectionnez les tables à ajouter dans le cache de base de données local, puis configurez le mode de synchronisation (données à télécharger lors de la synchronisation) :

    Données à télécharger :

    • Modifications nouvelles et incrémentielles après la première synchronisation

      Ce paramètre permet d'extraire du serveur les enregistrements modifiés depuis la dernière synchronisation des données. La première fois que la synchronisation est appelée, l'intégralité de la table est téléchargée.

    • Toute la table à chaque fois

      Ce paramètre remplace la table locale par la version qui se trouve actuellement sur le serveur.

      Remarque :

      Définissez le mode de synchronisation pour chaque table que vous configurez pour une utilisation hors connexion. Les choix désactivés supplémentaires sont disponibles uniquement lorsque le suivi des modifications SQL Server n'est pas activé.

  10. Cliquez sur OK.

  11. Cliquez sur Afficher l'exemple de code pour ouvrir la boîte de dialogue Exemple de code, qui présente un exemple de code qui démarre le processus de synchronisation. Vous pouvez copier ce code dans le Presse-papiers et le coller dans votre programme.

  12. Définissez éventuellement les options Avancé.

    Dans la boîte de dialogue Configurer la synchronisation des données, les options Avancé fournissent des paramètres permettant de déterminer si les tables sont synchronisées séparément ou dans le cadre d'une transaction unique. Les options activent également la séparation de code pour les applications multicouches.

    • Synchroniser les tables dans une seule transaction. Par défaut, cette option est désactivée et toutes les tables sont synchronisées individuellement. Si des erreurs se produisent, les modifications ne sont restaurées que pour les tables comportant des erreurs. Si vous sélectionnez cette option, toutes les tables sont synchronisées dans une seule transaction. Si des erreurs se produisent, toutes les modifications sont restaurées pour toutes les tables.

    • Créer des composants de synchronisation. Par défaut, des composants de synchronisation sont générés pour le client et le serveur. Vous pouvez affecter à cette option la valeur Client seulement ou Serveur uniquement en fonction des spécifications de votre application.

    • Emplacement du projet serveur. Par défaut, les composants de synchronisation du serveur sont générés dans le projet actif. Définissez cette option pour générer des composants de synchronisation pour le serveur dans un projet Visual Basic ou Visual C# de la solution.

    • Emplacement du projet client. Par défaut, les composants de synchronisation du client sont générés dans le projet actif. Définissez cette option pour générer des composants de synchronisation pour le client dans un projet Visual Basic ou Visual C# de la solution.

  13. Cliquez sur OK.

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

  15. Cliquez sur OK.

    Remarque :

    Le suivi des modifications SQL Server ne sera pas activé tant que le serveur n'est pas mis à jour pour activer le suivi des modifications.

    Après que vous cliquez sur OK, l'Assistant Configuration de source de données s'ouvre à la page Choisir vos objets de base de données. (L'Assistant Configuration de source de données s'ouvre automatiquement chaque fois qu'un fichier de base de données local est ajouté à un projet.)

  16. Sélectionnez les tables à ajouter au groupe de données typé.

  17. Cliquez sur Terminer.

Après avoir configuré la synchronisation des données à l'aide de la boîte de dialogue Configurer la synchronisation des données, vous devez ajouter du code à l'application pour lancer la synchronisation.

Remarque :

Lorsque vous synchronisez des données, la base de données locale est mise à jour, mais pas la table dans le groupe de données ni aucun autre objet dans l'application. N'oubliez pas de recharger votre source de données d'application avec les données mises à jour de la base de données locale. Par exemple, appelez la méthode TableAdapter.Fill pour charger la table de données du groupe de données avec les données mises à jour à partir de la base de données locale.

Pour ajouter le code permettant d'initialiser le processus de synchronisation

  • Si vous avez copié le code à partir de la boîte de dialogue Exemple de code de la section précédente, il vous suffit de le coller dans votre application. Sinon, vous pouvez insérer le code suivant dans votre application, là où vous souhaitez lancer le processus de synchronisation :

    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    
    
    

Les procédures ci-dessous décrivent les étapes à suivre pour configurer la synchronisation des données et activer le suivi des modifications SQL Server lorsque vous configurez un groupe de données typé à l'aide de l'Assistant Configuration de source de données.

Pour obtenir un exemple qui utilise des données réelles et indique comment configurer la synchronisation lors de la création d'un groupe de données typé à l'aide de l'Assistant Configuration de source de données, consultez Procédure pas à pas : création d'une application occasionnellement connectée à l'aide de l'Assistant Configuration de source de données.

Pour configurer la synchronisation des données pour utiliser le suivi des modifications SQL Server à l'aide de l'Assistant Configuration de source de données

  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 ouvrir 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 2008 de la base de données que vous voulez est disponible dans la liste déroulante, sélectionnez-la.

      - ou -

    • Sélectionnez 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 base de données SQL Server 2008. 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 les tables à ajouter au cache de la base de données locale.

  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 les tables à mettre en cache dans la page Choisir les tables à mettre en cache.

  12. Définissez le mode de synchronisation.

    • Modifications nouvelles et incrémentielles après la première synchronisation

      Ce paramètre permet d'extraire du serveur les enregistrements modifiés depuis la dernière synchronisation des données. La première fois que la synchronisation est appelée, l'intégralité de la table est téléchargée.

    • Toute la table à chaque fois

      Ce paramètre remplace la table locale par la version qui se trouve actuellement sur le serveur.

  13. Sélectionnez Utiliser le suivi des modifications SQL Server. Par défaut, cette option est sélectionnée lorsque la valeur du champ Connexion serveur est une base de données SQL Server 2008.

  14. Cliquez sur Terminer.

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

  16. Cliquez sur OK.

    Remarque :

    Le suivi des modifications SQL Server ne sera pas activé tant que le serveur n'est pas mis à jour pour activer le suivi des modifications.

Après avoir complété l'Assistant Configuration de source de données, vous devez ajouter du code à l'application pour lancer la synchronisation.

Remarque :

Lorsque vous synchronisez des données, la base de données locale est mise à jour, mais pas la table dans le groupe de données ni aucun autre objet dans l'application. N'oubliez pas de recharger votre source de données d'application avec les données mises à jour de la base de données locale. Par exemple, appelez la méthode TableAdapter.Fill pour charger la table de données du groupe de données avec les données mises à jour à partir de la base de données locale.

Pour ajouter le code permettant d'initialiser le processus de synchronisation

  • Insérez le code suivant dans votre application, là où vous souhaitez lancer le processus de synchronisation :

    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    
    
    

Date

Historique

Raison

Juillet 2008

Rubrique ajoutée.

Modifications de fonctionnalités dans le SP1.

Ajouts de la communauté

Afficher: