Puis-je synchroniser des bases de données de servers mobiles, de bureau et Web avec Sync Framework?

J'utilise Sync Framework v1 (qui inclut les services de synchronisation pour ADO.NET v2) et Sync Services for mobile v1.

Je peux synchroniser une database SQL Compact Edition d'un périphérique mobile vers SQL Express sur un ordinateur de bureau.

Je peux également synchroniser une database SQL CE à partir d'un ordinateur de bureau à une database SQL Server sur un server Web en utilisant WCF.

Je veux synchroniser de l'appareil mobile au bureau quand il docks, et ensuite synchroniser le PC de bureau avec le server Web (la copy sur l'ordinateur de bureau est au cas où la connection Web n'est pas fiable).

Idéalement, je voudrais éviter SQL Express de toute façon parce que je veux que les configurations mobiles et de bureau soient aussi simples que possible.

Malheureusement, il semble qu'il n'y ait aucun moyen d'assembler ces pièces pour faire les connections dont j'ai besoin parce que:

  1. L'appareil mobile se synchronise avec SQL Express sur le PC et je ne peux pas me synchroniser de SQL Express vers le server SQL.
  2. La synchronisation avec le server SQL doit provenir de SQL CE et je ne peux pas synchroniser le périphérique mobile avec SQL CE sur le bureau

Est-ce que ce n'est tout simplement pas possible, ou possible avec une grande quantité de code (SyncProviders personnalisés et des instructions de mise à jour faites à la main etc), ou ai-je manqué quelque chose d'évident?

Merci pour votre time! Marque.

J'utilise la même configuration de base pour une application en direct et cela fonctionne plutôt bien. J'ai la synchronisation de l'appareil mobile avec le server en utilisant les services Web (WCF serait également bien) et j'ai la synchronisation de l'application de bureau un peu comme ça et tout fonctionne très bien.

Généralement, ce serait une mauvaise idée d'avoir un client synchronisé avec un server qui se synchronise ensuite avec un server parce que vous devez alors gérer plus d'état et les outils et guides communs ne vous aideront pas beaucoup.

Je recommand également de ne pas utiliser la réplication sql merge si vous ne vous considérez pas comme un expert dans la gestion de SQL, car si vous n'en êtes pas un maintenant, vous en serez un au moment où vous vous sentirez en security en l'utilisant.

À titre de remarque, si vous êtes prêt à consacrer le time et les efforts nécessaires à la création de vos propres fournisseurs Sync Framework, vous constaterez qu'il y a peu de choses que vous ne pouvez pas faire.

Je suppose que le model «prévu» serait d'utiliser SQl Express sur le bureau et d'utiliser la réplication de fusion sur le server.

Je ne m'attends pas à ce que vous puissiez utiliser SqlCe sur le bureau en tant qu'extrémité 'server' pour le framework Sync. Entre autres, SqlCe est un user unique et cela ne fonctionnera pas pour le SyncAgent. Même si cela peut sembler réalisable dans votre situation.

Ce qui pourrait fonctionner est d'avoir la synchronisation mobile avec le server et le bureau avec le server aussi. Mais je réalise que cela ne résout pas votre problème de connection et peut rendre la copy sur le PC superflue.