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

C# Discussion :

Application sur plusieurs PC qui partage la même base de données?


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 19
    Points
    19
    Par défaut Application sur plusieurs PC qui partage la même base de données?
    Bonjour,

    Je suis entrain de développer une application desktop, qui peut être installée sur plusieurs PC (10 au Max), et j'aimerais que tout les utilisateurs aillent les même données à jour sachant que tous peuvent faire des ajouts et modifications, j'ai pensé à installer SQL Serveur dans un PC et vu que les applications vont être dans le même réseau LAN, je peux accéder à la base facilement, cependant, pour des raisons de disponibilité, je pense à installer la base sur tout les PC et faire un sort de synchronisation entre les base, avec un bouton par exemple dans l'application pour synchroniser une fois cliqué, mais je sais pas par quoi commencer (comment faire) ou bien ce que vous pouvez me proposer.


    Merci d'avance.

    BL

  2. #2
    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
    Synchroniser plusieurs instances d'une même database suppose de définir les priorités en cas de modifications d'un même enregistrement dans 2 instances de la base de donnée.

    Les questions à se poser sont :
    • Est-ce que tu veux seulement gérer d'éventuels problèmes sur l'ensemble [réseau / SGBD centralisé] ou certains PC sont des portanbles qui vont travailler sur l'application en off-line ?
    • Est-ce que différents utilisateurs peuvent modifier/supprimer les mêmes enregistrements ?
    • Y-a-'il une hierarchie parmi les ulisateurs ?
    • Est-ce que les traitements résultant d'une modification/suppression sont reversibles ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Espagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup Garffito


    Est-ce que tu veux seulement gérer d'éventuels problèmes sur l'ensemble [réseau / SGBD centralisé] ou certains PC sont des portanbles qui vont travailler sur l'application en off-line ?
    Oui certains PC sont des portables et peuvent travailler sur l'application en offline, la synchronisation peut se faire une fois connecté si c'est possible.

    [*] Est-ce que différents utilisateurs peuvent modifier/supprimer les mêmes enregistrements ?
    Oui ils peuvent mais c'est pas assez fréquent, je veux dire que les opérations mentionnées sont limités ou il y aura pas de grand risques pour les conflits, c'est une application pour la gestion d'un cabinet d'avocat.

    [*] Y-a-'il une hierarchie parmi les ulisateurs ?
    Oui, certains auront juste le droit de lire.

    [*] Est-ce que les traitements résultant d'une modification/suppression sont reversibles ?
    Non, je garde l'historique de tout les opérations donc c'est pas un problème.


    Merci encore

  4. #4
    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
    Oui ils peuvent mais c'est pas assez fréquent, je veux dire que les opérations mentionnées sont limités ou il y aura pas de grand risques pour les conflits
    Même dans ce cas, il faudra quand même gérer les (rares) conflits.

    On pourra le faire via une form présentant l'ensemble des conflits et demandant à l'utilisateur d'arbitrer manuellemennt en cochant la version à garder.

    la synchronisation peut se faire une fois connecté si c'est possible.
    En mode offline, on peut prévoir des moyens d'identifier dans la base les enregistrements modifiés/ajoutés/supprimés.
    Ainsi quand on se connecte en mode on-line, on peut downloader vers la base on-line les éventuelles modifications de la base effectuées en off-line, puis uploader toute la base on-line vers la base off-line (ou seulement les dernières modifications) si on a un moyen d'identifier dans la base on-line les modifications effectuées depuis le dernier upload.

    Regarde du coté de Microsoft sync framework, en particulier :
    http://msdn.microsoft.com/en-US/sync/cc137124.aspx
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    une petite conseil ne compte pas sur tes utilisateurs pour démarrer la synchronisation; je connais très bien les habitudes des utilisateurs.Ce que prend beaucoup de temps pour s’exécuter ils les évite si ils ont le choix. donc a mon avis il faut démarrer la synchronisation d'un manière automatique, c'est mieux, peut être lors de la démarrage de l'application !!.

  6. #6
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut Mettre en place u Replicat Sql
    J'ai eu une problématique similaire pour un cabinet de conseil juridique (donc pas loin de ta problématique).
    En se fondant sur le fait que le risque de collision restait faible ( et c'est effectivement le cas, moins de deux par an...), j'ai mise en place la RÉPLICATION de base de données sous Sql Serveur 2012, solution qui s'est révélée efficace.

    les points a ne pas rater :

    - les synchronisations, comme le fait remarquer très justement Azstar, pas question de compter sur les utilisateurs, donc soit un service qui fait la mise à jour en tache de fond dès que le poste est dans la zone LAN, soit (c'est la solution que j'ai personnellement retenue) une synchro à la fermeture de l'application (dans un robot en arrière plan); La synchro du Sql Serveur étant assez bien réalisée, une synchro inachevée reprend comme si de rien n'était au passage suivant.

    - le top est quand même de disposer d'une machine qui fait office de serveur de référence et de gestionnaire des réplicats, sinon comment gérer la non disponibilité de la base racine (même si les réplicats sont soit disant homologues); ce serveur simplifiant aussi les sauvegardes.

    - l'installation automatisée du Sql Server sur les postes pour éviter de passer la journée à installer le tout.
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

Discussions similaires

  1. Réponses: 15
    Dernier message: 12/02/2015, 21h28
  2. Réponses: 0
    Dernier message: 18/07/2011, 16h52
  3. Plusieurs applications sur une même base de données
    Par ellene dans le forum Hibernate
    Réponses: 8
    Dernier message: 13/11/2007, 10h04
  4. Application sur plusieurs écrans
    Par DR dans le forum C#
    Réponses: 5
    Dernier message: 24/07/2007, 10h07
  5. Formulaire sur plusieurs pages qui bloque
    Par yiuche dans le forum Langage
    Réponses: 7
    Dernier message: 03/08/2006, 09h23

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