IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Synchroniser deux bases de données Access 2003?


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Points : 211
    Points
    211
    Par défaut Synchroniser deux bases de données Access 2003?
    Bonjour à tous,

    je souhaiterai synchroniser deux bases de données Access 2003. En fait j'ai une base de donnée sur mon serveur (\\mon_serveur\dossier_partage\mabd.mdb) et j'ai une base du même nom en local (C:\mon_dossier\mabd.mdb) sur un pc du nom de pcclient. Je souhaiterai que lorsque je clique sur un bouton (dans mon application) à partir de la machine pcclient que la bd qui se trouve sur le serveur "écrase" celle qui est en local pour faire une sorte de mise à jour.

    Quelqu'un pourrait-il m'aider s'il vous plaît?

    Merci d'avance.

    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Cela signifie que tu ne saisies rien dans la base en local ?

    Philippe

  3. #3
    Membre actif
    Inscrit en
    Décembre 2007
    Messages
    528
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 528
    Points : 211
    Points
    211
    Par défaut
    Bonjour et Merci Philippe JOCHMANS pour ton intérêt. Je constate que tu as bien compris ce que je souhaite. Effectivement, je saisi des données dans ma bd en local. Donc en fait, j'ai plutôt besoin de synchroniser quelques tables entre mes deux bd. As-tu une solution ou une proposition s'il te plaît?

    Merci d'avance.

    Cordialement

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Pas si simple que cela, car si tu fais des saisies dans ta base locale, est-ce qu'elles doivent être dans la base du serveur ?

    Si non, il va se poser un problème en fonction de la structure de ta base :

    Imaginons :

    Tu saisis un contact, tu lui donnes automatiquement une clé primaire, et cette clé te sers pour faire des liaisons vers d'autres tables où elle se trouve en clé étrangère.
    Si maintenant tu ajoutes un autre contact qui a été saisi sur le serveur et qui a la même clé, c'est impossible.

    Il y a sinon la réplication, mais c'est une horreur.

    Donc ton problème n'est pas si simple, cela en fonction de tes données.

    Philippe

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 243
    Points : 328
    Points
    328
    Par défaut
    En fait, pour éviter le problème des PK existantes des deux côtés, tu peut utiliser en plus pour chaque table à synchroniser un GUID qui est calculé à la création et ensuite jamais modifié.

    ensuite tu compare tes 2 tables sur cette "fausse" pk :
    * elle existe des deux côtés > il s'agit du même enreg. à toi ensuite de régler le conflit.
    * elle n'existe que d'un côté : l'enreg. est nouveau, la synchro. est "facile".

    Après pour la synchro. proprement dite : tu a deux solutions techniques :
    • un code générique et récursif : pour chaque table à synchroniser, il va s'occuper de le faire aussi pour ses parents et/ou ses enfants s'ils ne le sont pas déjà.
      • Avantages :
        • générique
        • prise en charge automatique des nouvelles tables
        • des cas spécifiques vont certainement nécessiter un traitement particulier mais ce ne sera pas la majorité.
      • Inconvénients :
        • pas facile à écrire
        • infernal à débugger
        • cas spécifiques nécessitant un traitement particulier et cassant la généricité .
    • un code fait à la mano ou tu traite chaque table à synchroniser spécifiquement
      • Avantages :
        • code facile à écrire
        • debuggage facile
      • Inconvénients :
        • tu devra le modifier à chaque changement de structure de ta base.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/09/2007, 10h29
  2. [Conception]cohérence Base de données Access 2003
    Par hugue dans le forum Modélisation
    Réponses: 4
    Dernier message: 25/03/2007, 18h06
  3. Réponses: 1
    Dernier message: 01/02/2007, 15h38
  4. liaison entre deux bases de données access
    Par questions dans le forum Access
    Réponses: 1
    Dernier message: 09/06/2006, 13h26
  5. Base de données ACCESS 2003 : multiusers
    Par LapinGarou dans le forum MFC
    Réponses: 1
    Dernier message: 05/04/2006, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo