Bonjour,
Dans le cadre d'un stage j'ai développé une application permettant de synchroniser des bases de données.
Nom : MaxiDBSync (à prendre au deuxième degré)
Version : presque la 1.0
Langue : Français
Description : Permet de synchroniser des bases de données qui n'ont pas une même structure, et cela de façon très simple. La synchronisation est unidirectionnelle (maître-esclaves) mais l'application sauvegarde les données esclaves qu'elle écrase (on se rapproche donc d'une synchronisation bidirectionnelle (multi-maîtres).
Fonctionnalités :
- Gestion des bases de données HyperFile, MySQL et SQL Server
- Fonctions de transformations des données, scripting
- Planification de l'exécution automatique d'une synchronisation (grâce à la commande DOS AT)
- Sauvegarde automatique des bases de données "esclaves" avant synchronisation
Compatibilité : Windows
Nécessite : Quelques dll fournies dans le package d'installation
Téléchargement : /
Licence : non définie (test accepté).
Langage : Réalisé avec l'AGL WinDev 8
Les sources : non disponibles
A venir : je n'aurai plus la possibilité d'utiliser WinDev 8...
Date de début : février 2007
L'application synchronise. Qu'entends-t-on par là ?
Elle va chercher les données contenues dans une base de données (la base de données maître) et s'assure ensuite que d'autres bases de données (les bases de données esclaves) contiennent les mêmes données.
L'utilisateur peut demander à l'application de ne pas supprimer d'enregistrements dans certaines tables esclaves. Par contre, les ajouts et les modifications de données esclaves sont obligatoires.
C'est donc bien de la synchronisation unidirectionnelle, mais l'application sauvegarde les données esclaves avant que celles-ci soient écrasées. On parle de modifications clandestines pour désigner les modifications de données esclaves, qui vont êtres écrasées car différentes des données maîtres.
Le but de l'enregistrement des modifications clandestines étant de permettre de remonter ces informations dans la base de données maître en passant par une étape de contrôle : des humains doivent contrôler la validité des informations.
Passer par cette étape de contrôle manuelle (qui sera en partie automatisée par une application qui n'a pas encore été développée) permet de ne pas devoir posséder de critère de comparaison permettant de choisir les informations qui doivent êtres propagées dans toutes les bases de données à synchroniser.
Ainsi, c'est avant tout de l'unidirectionnel mais il ne faut pas que cela empêche les utilisateurs des bases de données esclaves d'utiliser (lire et modifier et non pas seulement lire) leur base de données.
Les éléments qui sont synchronisés sont les éléments que l'utilisateur choisit. Ce peut être un seul champ d'une table d'une base de données comme l'entièreté d'une base de données. Il n'est par contre pas possible de choisir les lignes des tables à synchroniser. Pour une table et ses colonnes choisies : tous les enregistrements sont pris en compte.
Si vous avez des questions n'hésitez pas à les poser !
Partager