Je recherche des conseils et des suggestions sur la façon de synchroniser des données entre deux bases de données.Synchronisation entre les tables SQL Server 2008 Express et VFP
La première base de données est un SQL Server 2008 Express qui s'exécute sur des ordinateurs portables déconnectés (pas d'accès réseau ou Internet). La deuxième base de données (principale) est une VFP 9.0 qui s'exécute sur un serveur. Lorsque l'utilisateur connecte son ordinateur portable sur le réseau, je veux que le processus de synchronisation passe à travers.
autres que les différents moteurs de base de données, j'ai les éléments suivants à prendre en compte:
- Les tableaux ne correspondent pas nécessairement la même structure
- Les clés primaires ne sont pas les mêmes (GUID dans le SQL Server et souvent une combinaison de champs de caractères dans VFP)
- La synchronisation des tables doit être effectuée dans un certain ordre pour respecter les relations parent-enfant
- Sur certains insert du côté SQL Server, une nouvelle clé primaire doit être généré et synchronisé ronised dans le tableau VFP
- Un groupe de validations doivent être faites et les commentaires de l'utilisateur sont parfois nécessaires
- Tous les dossiers doivent être synchronisés
- Certains enregistrements sur le serveur SQL doivent être supprimés après la syncronisation
- Nécessité de prendre en compte les enregistrements supprimés de chaque côté
- modifications minimales doivent être effectuées sur la base de données VFP
Il y a probablement d'autres points que je suis forgotting maintenant, mais je thi Vous avez l'idée du défi auquel je suis confronté. Ma conjecture en ce moment est que je vais devoir construire un module de synchronisation personnalisé, mais je veux que vous entriez avant que je continue, au cas où j'aurais oublié certaines options et pour obtenir quelques conseils sur la façon d'aborder cela. J'ai regardé rapidement Microsoft Sync Framework, mais avec toutes les restrictions que j'ai et le fait qu'il n'y a pas de client VFP déjà construit (AFAIK), je ne pense pas que ce sera d'une grande aide.
Merci d'avance pour vos commentaires.
Mise à jour: L'application pour ordinateur portable est une application C# WinForm et utilise SQL Server 2008 Express.
Merci pour la réponse. Désolé, mais j'ai oublié de mentionner que l'application pour ordinateur portable est une application C# WinForm que j'ai écrite et utilise SQL Server 2008 Express. Je connais très bien VFP comme je l'ai utilisé pendant plus de 10 ans, mais nous essayons de nous en éloigner pour diverses raisons. – izokurew
Parfois, passer à une autre langue rend les choses plus faciles, et parfois pas tellement. La version de Sedna pour VFP embarquait un fournisseur DDEX pour Visual Studio 2005 (et je pense que cela peut fonctionner avec 2008, mais ne me citez pas dessus). Cela pourrait vous aider à accéder plus facilement aux données dans votre code C#. –