0

Je crée une application qui s'exécute sur un périphérique Windows Mobile. J'utilise Microsoft Sync Framework pour synchroniser la base de données Sql CE avec la base de données principale de l'entreprise.Limiter le champ qui est synchronisé

La question est comment puis-je limiter les champs qui sont synchronisés? La table en question a des piles de champs, mais je n'ai besoin que d'en afficher quelques-unes sur l'appareil mobile et la réplication est à sens unique (du serveur vers le mobile), ce qui ne devrait pas poser de problème. J'ai vu this question similaire, mais il n'y a pas beaucoup d'informations là-bas. Quelqu'un peut-il me donner plus de conseils sur la façon d'y parvenir? J'imagine que c'est une exigence très commune.

Est-ce que quelqu'un sait si je peux utiliser Sync Framework Version 2.0 ou dois-je m'en tenir à 1.0? J'avais le sentiment que le 2.0 ne supporte pas Windows Mobile mais je ne suis pas sûr.

Vive
Mark

Répondre

2

Vous pouvez changer le T-SQL qui est généré dans les coulisses de ne pas inclure toutes les colonnes du tableau, mais il y a quelques trucs ici. Premièrement, cela signifie que vous ne pouvez pas utiliser un assistant pour modifier la sélection de synchronisation plus tard - ce qui n'est pas grave, et créer votre propre classe partielle pour remplacer simplement la méthode spécifique avec le T-SQL de votre table atténue un peu cela. Deuxièmement, les modifications apportées aux colonnes non inclues (pas sûr que ce soit un mot?) Peuvent également déclencher un téléchargement de cette ligne car par défaut, le suivi des modifications est par ligne. Vous pouvez modifier cela en définissant le drapeau Track_Columns_Updated

ALTER TABLE Employee 
ENABLE CHANGE_TRACKING 
WITH (TRACK_COLUMNS_UPDATED = ON) 

En fonction du nombre de lignes et de la taille des données et la fréquence mises à jour, je l'ai souvent trouvé une solution plus facile est de fournir un déclencheur sur la table principale du serveur mettre à jour les enregistrements dans une table séparée contenant uniquement les données dont vous avez besoin, puis synchronisez-les. Cela rend beaucoup plus facile de changer ce qui sera téléchargé plus tard. Ce n'est évidemment pas une solution si vous téléchargez l'intégralité des œuvres de Shakespeare, mais pour quelques 1000 notices d'un catalogue de produits, je pense que c'est parfaitement faisable.

+0

On dirait quelques suggestions judicieuses. Merci beaucoup Johny! Je vais vérifier dans les prochains jours et mettre à jour cette question. Je me bats vraiment avec le framework de synchronisation. –

+0

Je suis malade de lutter avec le cadre de synchronisation. Mes exigences sont assez simples, la synchronisation unidirectionnelle, donc je pense que certains codes personnalisés seront beaucoup plus simples et plus rapides. Cheers Marque –

Questions connexes