2009-10-28 7 views
0

Nous avons une architecture client-serveur dans laquelle le client se déconnecte lorsqu'il se connecte à distance au serveur. Le serveur est essentiellement un SQL Server 2008, avec quelques tables contenant chacune des milliers d'enregistrements. Chaque application client (WPF) nécessiterait de stocker la réplique des données du serveur pour leur utilisation hors connexion (dans SQL Express?). Et idéalement, lorsque l'application cliente démarre, le serveur va chercher de nouveaux changements là-bas et synchroniser sa base de données pour avoir les mêmes données que celles du serveur (sans beaucoup d'interaction de l'utilisateur).Synchronisation de base de données hors connexion avec le serveur

Je suis à la recherche d'une solution 100% orientée code, qui peut être déployée sur des clients distants sans nécessiter de longues procédures d'installation ou nécessitant une intervention de l'utilisateur. J'ai utilisé Microsoft Sync Framework v1 et ses services de synchronisation ADO.NET pour gérer un scénario similaire il y a un an. Il s'est avéré être un cauchemar avec la restructuration de la table, l'écriture de SPROC pour tous les autres scénarios de suivi des changements, et le traitement par lot était douloureux aussi. Microsoft a récemment publié une version mise à jour de Sync Framework avec quelques nouvelles fonctionnalités. Je n'ai pas encore eu le temps d'évaluer ces fonctionnalités.

Existe-t-il d'autres outils/technologies pour synchroniser les bases de données hors connexion avec un serveur? Les échantillons, la documentation, les suggestions sont appréciés.

Répondre

0

Je suis retourné à la structure de synchronisation et cette fois utilisé avec SQL Server 2008. Les résultats étaient meilleurs, et j'ai pu exposer la fonctionnalité de synchronisation sur WCF. Voir le code détaillé here in SO

1

Avez-vous regardé dans la réplication de SQL Server. Plusieurs types de topologies de réplication peuvent être configurés. Votre base de données "hors ligne" peut entrer des données dans un environnement déconnecté, puis synchroniser les modifications avec le serveur dès qu'elles sont disponibles. Cela peut être accompli via des travaux SQL Server ou des appels via la classe .NET RMO.

+0

Salut Matt, je lis le même sujet maintenant. De bonnes ressources disponibles sur le web? – Raj

Questions connexes