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

Entity Framework Discussion :

Coment synchroniser 2 bases de donnees differente avec les memes tables


Sujet :

Entity Framework

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Coment synchroniser 2 bases de donnees differente avec les memes tables
    Bonjour,

    Je m'explique, je dois travailler sur un projet de suivi comptable pour lequel on aura une base de données centralisée en Europe(Oracle ou SQL Serveur) et plusieurs bases de données locales en Afrique(SQLITE3).

    Ces bases de données locales seront une copie conforme du schéma de la base de données centralisée et seront remplies(2-3 tables du schéma(ex: dépenses, recettes, ...)) en Afrique et ensuite tous les X temps, ces 2-3 tables remplies seront exportées en Europe par e-mail pour les synchroniser avec la base de données centralisée qui ne fera donc que grossir.

    Il faut savoir que je tiens à utiliser l'entity framework et que je travaille en C# 4.0

    J'ai trois gros problèmes:

    1) Comment faire passer les 2-3 tables modifiées d'Afrique en Europe par e-mail et ensuite les synchroniser avec la base de données serveur?

    je pensait à la serialisation de ces tables mais je ne sais pas si l'idée est bonne.

    2)La base de données SQLITE devrait aussi pouvoir évoluer, et donc être crée en Europe en fonction de la base serveur et être renvoyée en Afrique pour qu'ils puissent travailler sur une base à jour.

    3)Est-il possible que l'application en Europe puisse se connecter et à une base serveur(disons Oracle) et une base locale(SQLITE3) qui ont le même schéma avec entity framework?

    J'ai fais un test rapidement et le problème est que 2 modèles entity sont crée mais avec les même classe métiers(POCO), il y a donc des conflicts de nommage.
    Si cela n'est pas possible je ferai 2 application séparées pour l'Europe alors.

    Merci de m'aider

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Tu devrais regarder aux systèmes de réplication des bases de données, ça te dédouanerait pas mal de taff... Pour MS-SQL, il y a la réplication de fusion, très bon pour les environnements asynchrones... SQLLite est imposé pour l'Afrique ?

    Le point 2, j'ai pas compris le problème en fait. Il s'agit d'exporter une partie des données depuis une base vers ta base SQLLite, avec des filtres, et renvoyer en Afrique ?

    Pour le point 3, pas de solution comme ça...

  3. #3
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Si vous découplez bien vos couches Accès/Métier vous devriez pouvoir changer de source de données à la volées via le constructeur du DataContext (en jouant sur la connexionString)...


    N'essayez pas de gérer la réplication vous même ou par code CSHARP vous allez droit dans le mur et au devant de gros problèmes de performances.

    LTE génère par essence beaucoup de requêtes inutiles notamment pour les opérations INSERT/UPDATE/DELETE et est utilisé de manière contre performante par la grandes majorités des développeurs donc vous allez pleurer avec les latences que vous pourriez avoir avec l'AFRIQUE (expérimenté...).

    Déléguez cela à un EXPERT/DBA SQL c'est son métier.

    Sinon voyez du côté de la réplication SQL SERVER, pour les imports voyez aussi par SSIS...

    SQL LITE vous bridera à coups sûr, est-ce imposé?

    J'invite tous les développeurs à méditer sur cet Article de SQL PRO sur les ORM, tous les développeurs de ma société ont changé après sa lecture:
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

Discussions similaires

  1. Réponses: 15
    Dernier message: 22/10/2007, 18h43
  2. Comment synchroniser deux bases de données
    Par apoingsfermes dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 15/11/2006, 22h41
  3. Base de données: problème avec des requêtes et le caractère '
    Par faluorn dans le forum Général Python
    Réponses: 7
    Dernier message: 03/05/2006, 10h02
  4. Réponses: 1
    Dernier message: 28/04/2006, 16h17
  5. Join entre 2 tables provenant de Base de donnees differentes
    Par edmotets dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/11/2005, 08h33

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