|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() |
Bonjour !
Je voudrais savoir s'il existe un moyen abordable de gérer la synchronisation entre une base locale et une base distante, afin de mettre à jour les deux bases sur les dernières modifications. On gardera une partie que le client aura créée ou modifiée, et une autre qui figurera plutot sur le serveur. Bref, jai donc ajouté un champ dateSQL dans chacune de mes tables, qui garde la date de la dernière modification/création de l'enregistrement, mais il se pose encore le problème de la sélection de l'information. En effet, la plupart de mes tables ont des cles primaires basées par auto incrément, et le soucis c'est qu'un numéro auto-incrémenté sur une base ne correspond pas forcément au même numéro dans l'autre base donc du coup on peut pas savoir s'il s'agit d'un update ou d'un insert... J'ai posté sur le forum java parallèlement, parce que mon application est en java : http://www.developpez.net/forums/sho...297#post974297 vous aurez des infos complémentaires sur mon problème... En vous remerciant ! |
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Pour cela les éditeurs proposent des outils qui s'apellent "replication". Par exemple pour MS SQL Server, le problème des clefs auto incrémenté est traité par le fait qu'il faut les créer avec l'option "NOT FOR REPLICATION".
Il existe différentes techniques de réplication , plus ou moins gourmandes et répendant à différents cas de figure (basé sur les transactions, basée sur la différence...) A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Coucou,
Merci pour ces explications! Je vois que ce n'est pas du tout cuit alors, quand on veut gérer ceci entre différentes bases de nature différente... Bon ben je vais faire au mieux pour gérer ça... Le truc c'est que l'application sera en local basée sur du HSQLDB (librairie java intégrée à l'application), et en distant, devra être compatible au moins avec MySQL et SQL-Server, et faut que tout ça communique... Je pense que ça peut marcher avec mes champs dateSQL et quelques astuces par-ci par là ( pour gérer la différence entre un nouvel enregistrement à exporter, et un enregistrement qui a volontairement été supprimé du serveur par exemple, si vous avez des conseils, je veux bien, parce que ça cherche dur actuellement... Je viens tt juste de penser une dateSQL=null ou une date "infinie" sans supprimer l'enregistrement pourrait aider à la détection d'une suppression, mais bon, la taille de la base va exploser pour plein de trucs qui serviront à rien... Sinon un historique, je sais pas encore)... Bon et bien merci bien ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com