cauchemar Sync - est-il possible d'utiliser la réplication de fusion (ou RDA) entre 2 instances de SQL CE sans IIS?

StackOverflow https://stackoverflow.com/questions/1291346

Question

Nous sommes confrontés au problème suivant qui consiste à garder les éléments suivants dans la synchronisation:

  • 1 serveur centralisé (IIS / MSSQL 2005)
  • De nombreux clients de bureau WPF distribués par ClickOnce
  • De nombreux clients mobiles - (Windows CE)

texte alt http://img502.imageshack.us/img502/8246/deployment .png

Avec ces contraintes épineuses:

  • toutes les relations de synchronisation sont bi-directionnelle
  • les nœuds de bureau et mobiles ont besoin en mode hors-ligne
  • les noeuds mobiles ne peuvent pas se synchroniser avec le serveur central, mais doivent se synchroniser avec les nœuds de bureau via USB. Les nœuds de bureau agissent comme un serveur pour les clients mobiles, pas le serveur central. Les mises à jour des noeuds mobiles doivent ensuite se propager vers le serveur central en vertu de la synchronisation avec le bureau, puis synchroniser ce bureau avec le serveur central. ouf .
Nasty

.

Pour synchroniser le bureau et le serveur nous savons que nous pouvons utiliser la réplication de fusion - le serveur étant un fournisseur, le bureau en tant qu'abonné, tout bon. Mais qu'en est-synchronisation des nœuds mobiles et de bureau? Apparemment le bureau ne peut pas être un éditeur sans serveur SQL + ISS, à droite? Nous ne pouvons déployer MSSQL CE sur le bureau.

Même si tel était le cas, un nœud peut être à la fois abonné et éditeur? Je pense que cet arrangement est pas pris en charge par l'architecture de réplication de fusion -. Et apparemment centre rayon est le seul modèle pris en charge

Nous essayons de déterminer si nous pouvons éliminer RDA ou réplication de fusion comme une solution possible -. Dans ce cas, nous poursuivrons probablement le Sync Framework MS

Peut-être il y a d'autres technologies que nous pourrions envisager?

Merci à tous,

Ashley

Mise à jour: nous avons juste commencé à avoir un jeu avec MS Framework Sync et roches

Était-ce utile?

La solution

Pour des raisons non directement liées à votre question, je pense que vous pouvez aller de l'avant et d'éliminer RDA / réplication de fusion comme une solution possible. Microsoft ne publie pas (pour des raisons évidentes), mais la réplication de fusion n'est pas fiable à 100% dans des conditions où déposer la connexion réseau au milieu du processus de réplication (ce qui arrive assez souvent avec les clients Windows Mobile).

Le résultat de ce problème est que les modifications apportées aux bases de données de clients ne sont parfois pas entièrement propagées à la base de données maître, mais vous obtenez aucune indication détectable que cela se produit. Comme vous pouvez l'imaginer, cela est une mauvaise chose, surtout si vous avez vendu votre client sur cette solution basée sur l'hypothèse que la RDA fonctionne comme prévu. La seule solution à court terme, nous avons trouvé à ce problème était de mettre en œuvre un processus à double redondance très maladroits pour confirmer que chaque enregistrement ajouté ou modifié sur le client fait sur le serveur sans erreur. La solution à long terme était de ne jamais utiliser de nouveau RDA pour quoi que ce soit.

Ce problème peut avoir été corrigé dans les versions récentes de RDA (notre problème est survenu avec la dernière version il y a 2 ans), mais je ne saurai jamais (une fois mordu deux fois timide).

Mise à jour: en passant, j'ai eu beaucoup de gens que j'ai parlé à ce sujet (y compris les techniciens de support Microsoft) nient que cela pourrait peut-être vrai, mais il est très facile de vérifier: ajouter un tas de données sur la client, puis lancer la réplication, yank puis le câble USB de l'appareil (en supposant que votre client est Windows mobile connexion via ActiveSync) tout au milieu de cela.

Si je semble un peu vexé, il est en partie parce que c'était ce que la technologie MS a finalement été forcé de dire (citation réelle). « Et bien, continuez à reproduire - les données vont fusionner par la suite »

Autres conseils

Consultez la Scénarios Collaboration ( Peer to Peer) dans Microsoft Framework 2.0. Les fournisseurs inclus permettent d'y être synchronisés directement deux bases de données SQL Server Compact. Ils sont également capables de synchroniser directement avec d'autres fournisseurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top