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 :

C# - réplication/duplication - Sql Serveur


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut C# - réplication/duplication - Sql Serveur
    Bonjour,
    je rechercher le code C# pour faire une application qui fait la réplication et/ou la duplication d'une base donnée Sql Serveur.
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Préviens nous lorsque tu l'as trouvé.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Par défaut
    Citation Envoyé par SupaDan Voir le message
    Bonjour,
    je rechercher le code C# pour faire une application qui fait la réplication et/ou la duplication d'une base donnée Sql Serveur.
    Merci d'avance.
    Que souhaites tu faire exactement ? Il est possible de faire de la réplication Sql Serveur assez facilement à l'aide des réplications sql serveur. Mais il te faut au moins un des deux serveurs Sql avec une licence payante. J'avais utiliser un script RMO pour faire de la réplication de fusion entre un sql serveur 2005 workgroup et un sql serveur 2005 express, mais je ne sais pas si pourrais t'aider.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    Il faut que fasse une application en C# que je peux lancer sur n'importe quel machine possèdant une base de donnée sql serveur. Cette application doit dupliqué cette base de donnée et configurer la réplication transactionnelle bidirectionnelle entre ces deux bases de donnée.
    Voila.
    Seulement je ne l'ai jamais fait alors j'ai besoin d'aide.

  5. #5
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut
    en gros tu veux faire une application identique a dts (celle inclus dans sql server manager qui permet la replication).

    1er question:
    tu veux copier design + data ou uniquement la definition des differentes tables et autres.

    2eme question:
    cela doit-il inclure les stored procedures ?
    les clr stored procedures (si oui tu va galerer grave)

    3eme question:
    combien de temps as tu pour le faire ?


    Sinon a premiere vue :
    1)j'essairai de voir si il n'y pas de command pour faire fonctionner l'outil deja inclus dans sql server.
    2)tu peux utiliser le bon vieux builk (qui lui tu peux utiliser a l'aide de command)
    3)parcourir la base de donnee et master pour recuperer les differentes info sur ta base de donnee, ainsi que la reflection.


    mon premier choix va sans conteste sur l'utilisation direct des outils inclus dans sql server manager.

    le second (lancer les outils a l'aide de command :
    lancer backup puis restore , ou export data) il te faudra etres d'avoir les privilege de security approprie.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Par défaut
    Citation Envoyé par SupaDan Voir le message
    Il faut que fasse une application en C# que je peux lancer sur n'importe quel machine possèdant une base de donnée sql serveur. Cette application doit dupliqué cette base de donnée et configurer la réplication transactionnelle bidirectionnelle entre ces deux bases de donnée.
    Voila.
    Seulement je ne l'ai jamais fait alors j'ai besoin d'aide.
    Qu'elle est la version de sql server utilisée ? S'il s'agit d'une version payante pour la publication, il est nécessaire de configurer l'abonnement à la réplication sur le serveur sql client et cela peut se faire assez "simplement" par un script RMO (que l'on sait codé en c#).

    Ensuite dans le cas d'une transactionnelle bidirectionnelle, il faut paramétrer DTC en utilisant la commande DCOMCNFG.exe. Par contre, je ne sais pas comment on peut le paramétrer par l'applicatif.

    Je n'arrive pas à retrouver le site que j'avais utilisé pour RMO, je vais chercher mon projet pour te montrer ce que l'on peut faire. dans mon cas, il s'agissait d'une réplication de fusion. La réplication de fusion est plus compliquée à gérer avec une version SQL Express car elle ne dispose pas d'agent et donc il faut faire une tache planifiée. Tandis qu'avec une transactionnelle bidirectionnelle, tu t'en sors bien grâce à DTC.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Par défaut
    POUR ZEAVAN:

    Il faut que je duplique toute la base: design + data.
    Car la nouvelle base (copier depuis la première) doit être operationnelle de la meme facon que l'original(première) et doit pouvoir la remplacer.

    Une fois les deux bases de données opérationnelle, il faut configurer la réplication transactionnelle bidirectionnelle entre les deux depuis une application en c#.

    J'ai environ un peu moins d'un mois pour réaliser cette application.

    Question: qu'est ce que builk?


    POUR VAROD

    version : sql serveur management studio 2005.

    Je serai très interessé pas le travail que tu a deja effectué avec ton RMO, mais pourrais tu m'expliquer ce que c'est car je ne connais pas.
    et qu'est ce que DTC?

    Merci d'avance pour tes réponses et solutions.
    et pour ton projet si tu arrive à remettre la main dessus.


    En résumé, ce que doit faire mon application:

    En lançant l'application chez une personne qui possède une base de donnée sql serveur, Cette application doit dupliquer la base sql serveur de cette personne afin d'en avoir deux identiques (les deux doivent être operationnelles et identiques, car si l'une tombe on doit pouvoir passer à l'autre). Une fois cela fait, l'application doit configurer la réplication entre ces deux bases de données.

    Contexte

    En faite je dois réaliser ce projet dans le cadre de mes études d'informatique de gestion mais tout cela est nouveaux pour moi car je n'ai jamais codé en c# ni configurer de réplication.
    Alors tous les informations, observations, critiques, documentation, ... que vous pouvez me donner sont très importantes pour moi.


    PS
    Ensuite je dois faire la meme chose mais pour une base oracle (version 11g)...

  8. #8
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut
    ok tu dois donc implementer un systeme de replication qui est deja inclus dans sql server 2005 enterprise edition.

    ok c'est pas facile facile et de plus en 1 mois , perso je vois pas comment.
    si l'on parle bien de replication.

    maintenant partons du principe d'1 mois , donc pour aboutir a la fin de ton projet il va te falloir redefinir le cahier des charges:

    je m'explique , concevoir un systeme de replication pour sql server et pour oracle en 1 mois, je vois pas comment a moins d'avoir manque quelquechose.

    bon 2 solutions dans ce temps donne , pas trop d'idee donc ne prend pas ca comme info a suivre, mais j'essais de lancer le debat pour que les autres membres interviennes.

    la 1ere tu contourne les exigences et utilise le loadbalancing.

    la 2eme tu limites les exigences et tu definis que tes 2 bases de donnees sont crees a l'avance, et par un systeme de trigger tu met a jour l'autre db .

    ps: je suis impatient de voir les conseils donnes par d'autres membres.



    oua je viens de faire attention au message precedant :
    tu ne dois pas creer la replication mais une appli client qui doit le gerer:

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Par défaut
    Citation Envoyé par SupaDan Voir le message
    POUR ZEAVAN:

    POUR VAROD

    version : sql serveur management studio 2005.

    Je serai très interessé pas le travail que tu a deja effectué avec ton RMO, mais pourrais tu m'expliquer ce que c'est car je ne connais pas.
    et qu'est ce que DTC?

    Merci d'avance pour tes réponses et solutions.
    et pour ton projet si tu arrive à remettre la main dessus.


    En résumé, ce que doit faire mon application:

    En lançant l'application chez une personne qui possède une base de donnée sql serveur, Cette application doit dupliquer la base sql serveur de cette personne afin d'en avoir deux identiques (les deux doivent être operationnelles et identiques, car si l'une tombe on doit pouvoir passer à l'autre). Une fois cela fait, l'application doit configurer la réplication entre ces deux bases de données.
    Salut,

    DTC = Microsoft Distribution Transaction Coordinator (de mémoire) en gros, c'est lui qui va gérer ta transactionnelle bidirectionnelle.

    Attention par contre à l'utilisation de la transactionnelle bidirectionnelle car il me semble que si le site ou il y a publication tombe, tes abonnés ne savent plus faire d'enregistrement en base. Car transactionnelle signifie qu'il attend que l'enregistrement soit bien effectué des 2 cotés pour qu'il valide la transaction ... Attention, cette info est à vérifier, je ne suis plus très sure.

    Pour ma part, j'avais utilisé la réplication de fusion pour palier à ce problème.

    L'avantage dans ton cas, c'est que tu synchronise la base complète donc tu n'as pas à gérer les filtres paramétrés qui sont une vrai galère !!

    Pour le timing, pour la partie Sql Server, je dirai que si tu comprends assez vite mon petit exe, cela ne devrait pas te prendre trop de temps (1 à 2 semaine env. )
    Par contre pour la partie Oracle ... je ne connais pas du tout et je ne sais pas s'il y a moyen (facilement) de codé un abonnement à une publication.

    J'essaie de te retrouver ce fichu source et je t'envoie ça.

    Bon courage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réplication entre deux serveurs SQL
    Par nicolovitch dans le forum Réplications
    Réponses: 6
    Dernier message: 19/07/2007, 14h28
  2. Réplication et sql serveur
    Par arona dans le forum Sybase
    Réponses: 2
    Dernier message: 13/06/2007, 11h03
  3. Réplication d'une base vers sql serveur
    Par samba2005kanoute dans le forum Réplications
    Réponses: 6
    Dernier message: 20/02/2007, 17h55
  4. Erreur de SQL serveur 2000 en rapport a la réplication
    Par patgou dans le forum Réplications
    Réponses: 1
    Dernier message: 29/12/2006, 19h09
  5. Erreur de SQL serveur 2000 en rapport a la réplication
    Par patgou dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/12/2006, 19h09

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