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.NET Discussion :

Synchroniser 2 BD Access


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Synchroniser 2 BD Access
    Bonjour , je dois créer une application qui va devoir être utilisée parfois online et parfois offline en utilisant 2 bases de données distincte.

    Alors de quelle façon (autre que de cliquer Synchroniser dans Access ) pour mettre à jour la master après que les changements offline aient été fait. En gros, mon patron prend le portable de la compagnie et travaille avec de chez lui le soir et je veux un boutton (ou autre mécanisme) pour faire la mise à jour de la bd le lendemain matin.

    Est-ce que ce serait possible de déclancher par programmation le mécanisme de synchronisation de Access par exemple?

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Bonjour

    Access est une base de données extrémement limitée en termes de fonctionnalité qui n'a jamais été prévue pour recevoir des mécanismes type réplication-fusion.

    Donc, deux possibilités :

    - adopter une vraie base de données et utiliser les mécanisme natif de réplication-fusion
    - persister dans le choix de Access et faire un bricolage (éventuellement s'aider dans ce cas du framework de synchro).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Le problème ici c'est que le choix d'Access (2000) m'est imposé car c'est une petite boîte et c'est le seul logiciel de BD que le patron connait est Access.

    Par ailleur on m'a appris hier que la base de données actuelle n'est pas gérée ici par un serveur, mais seulement déposé sur un serveur de données générique partagé sur le réseau local, et le logiciel maison écrit dans ce fichier en utilisant des ADO recordsets dans le logiciel maison en VB6.0.

    Ce qui m'ammène à la BD que je dois créer, elle devra rouler de la même façon, c'est à dire sans serveur. Sa mise à jour devra donc être gérée par mon application, mais, j'ai aucune idée comment mettre à jour une BD de cette facon . Il y a bien le Sync framework comme tu l'as mentionné mais j'ai trouvé bien peu d'information là dessus, si tu as quelques lien à me suggérer ça serait très apprécié .

    Note: au pire je vais leur faire acheter une version plus récente de Access si j'en ai besoin, faut juste que je puisse rouler sans serveur

  4. #4
    Membre éclairé
    Homme Profil pro
    Technicien bio médical
    Inscrit en
    Décembre 2012
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien bio médical
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 328
    Points : 768
    Points
    768
    Par défaut
    Bonjour,

    Je fait actuellement une application de gestion commerciale qui suit le schéma que vous définissez.

    Tiré de Msdn

    Pour créer cette application, je passe par une base serveur sous Sql Server 2012 Express, une base locale SQL Compact 3.5 , un Dataset et les composants Sync.
    C'est d'une efficacité redoutable, simple à mettre en place (si j'y suis arrivé, tout le monde peut le faire ), et surtout simple à coder.

    Access est un outil sympathique qui a de fortes limitations quand on sort de son environnement. Même s'il est possible de faire des application Client/Serveur, ce n'est pas son mode de fonctionnement de prédilection.

    Synchroniser deux bases de données Access peut très vite devenir lourd à gérer, ça doit être infâme à programmer.

    Il n'y a pas de "Différences" (vais me faire taper dessus) de logique pour la création de bases de données entre Access et SQL Server. Avec Sql Management Studio, c'est tout aussi simple que dans Access.

    Dernier avantage: le prix. Sql server Express est gratuit facile à déployer. Ce n'est pas parce que le logiciel s'appelle "Server" qu'il faut un serveur pour le déployer (là aussi, je vais me faire taper)

    Inconvénients : les limitations de la version Express en elles même. Dit autrement, pour une petite application comme celle que vous semblez dévelpper, néant.
    est ton amis, MSDN est ton maître, pour le reste il y a Developpez.net. Pensez au au et

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup Rainui , je vais voir ce que je peux faire avec ça. Par contre je viens d'avoir une discussion (un peu houleuse par contre ) avec mon patron et en fin de compte, il veut seulement une application qui lui permet de travailler sur 1 seul projet à la fois, choisit par lui même avant de partir du bureau, pour travailler chez lui.
    Comme il est le seul à gérer le projet et donc le seul à pouvoir modifier les enregistrements, pas de problème de conflits à gérer, uniquement à entrer les nouvelle données de sa "BD" locale (qui ne va être constitué d'un seul enregistrement, ou plusieurs c'Est lui le patron ) dans la BD Master en écrasant les enregistrements de la veille. J'ai seulement réussit à le convaincre de mettre une date de dernière modification au cas ou quelqu'un touche au projet sur Master pendant son absence, et le username de cette personne.

    Au final, ultra simple et on écrase tout au Bulldozer . Il y a environ 15 employés ici alors il dit qu'on suppose qu'il n'y a pas d'imbéciles .

    Alors merci d'avoir pris de votre temps pour me répondre et je vais voir si je pourrais pas essayer d'utiliser quelque chose de plus moderne que Access 2000 pour faire ma BD, au cas où ils décide de me faire réécrire au complet leur logiciel maison . Encore là, des suggestions? Une conversion simple et directe de la BD Access 2000 vers une que je pourrais gérer en entity framework c'est faisable?

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    je vais voir si je pourrais pas essayer d'utiliser quelque chose de plus moderne que Access 2000 pour faire ma BD, au cas où ils décide de me faire réécrire au complet leur logiciel maison . Encore là, des suggestions?
    Dans ce cas, on peut faire des fonctions génériques indépendantes de la base de donnée. Par exemple, sauf fonctions très spécifiques, nos applications (basées sur une bibliothèque maison d'acces aux bases de données utilisant des DataAdapter standard) peuvent fonctionner indifférement sous Oracle, Access, MySql ou SqlServer juste en paramétrant le type de base et la chaîne de connexion.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Comme dit précédement, faire de la réplication fusion de base de donnée Access c'est un bordel sans nom.

    Il existe plein de bricole/technique possible pour faire ce genre de chose:

    1. Considérer chaque projet comme une BD. L'application ouvre un projet en ouvrant une BD (de la même façon que t'ouvre un doc word sauf que c'est un fichier mdb...). Le patron peut alors sans autre copier sa base de donnée sur son portable, la prendre avec lui et la remettre plus tard. (Ca peut vite tourner au cauchemard s'il copie dans le mauvais sens, mais d'un autre coté c'est comme ça que beaucoup de monde fonctionne pour les doc word et Excel). Il n'y a pas de possibilité de faire des liens de données entre les projets par contre. (On pourait aussi faire de la sérialisation d'objet dans un fichier avec une extension spécifique à l'application à la place d'une bd...).

    2. Des bases secondaires avec des enregistrements temporaires qui sont poussé vers la base de donnée principales (avec les traitements métiers appropriés) puis la base principale renvoie les données vers bases secondaires. Ca suppose que ton système est composé d'une application mobileoffice (traite ce qui n'est pas temporaire seulement en lecture seul) et un backoffice. Doit avoir une pléthorée de logiciel pour représentant qui fonctionne ou ont fonctionné sur ce principe. (produit et historique client en lecture seul, commande temporaire convertie en commande définitive lors d'une opération de sync).

    C'est pas de la bricole, ce genre de truc. C'est ce qui se faisait (et se fait encore maintenant j'en doute pas) dans le mode pro avant que le mot nuage soit devenu un terme courant du jargon des informaticiens (ah les bonnes vieilles sync des PDA par modem).

    Bon avec l'évolution technologique, ressortir ce genre de truc du plaquard pour un nouveau projet c'est un peu massochiste... (Parait que c'est à la mode alors pourquoi pas)

Discussions similaires

  1. Comment synchroniser deux bases access?
    Par gilles_906 dans le forum VB.NET
    Réponses: 0
    Dernier message: 02/11/2010, 23h05
  2. synchroniser outlook vers access
    Par emulamateur dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 29/10/2008, 15h48
  3. Synchroniser 2 bases access
    Par arnolem dans le forum Access
    Réponses: 3
    Dernier message: 03/08/2006, 08h44
  4. Synchroniser 2 bases Access identiques
    Par shub dans le forum Access
    Réponses: 13
    Dernier message: 20/04/2006, 10h20
  5. Synchronisation d'applications Access
    Par r@phy dans le forum Access
    Réponses: 14
    Dernier message: 12/12/2005, 09h53

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