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

MS SQL Server Discussion :

Replication de fusion dynamique


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut Replication de fusion dynamique
    Salut

    voila le fonctionnement de l'application :
    j'ai besoin de synchroniser entre 5 BD, La Bd principale se trouve sur un serveur et le reste (4 restants) se trouvent sur un serveur distant.
    j'ai réalisé une réplication de fusion entre BD1->Bd2 qui tourne parfaitement(comme test).
    Mnt je veux surtout réaliser une réplication de fusion dynamique,autremant dit une seule publication avec un parametre dedans et autant d'abonnées que le reste des BD(4).
    (BD1=>BD2 (publiction1,parametre=1)
    BD1=>BD3 (publiction1,parametre=2)
    BD1=>BD4 (publiction1,parametre=3)
    BD1=>BD5 (publiction1,parametre=4)

    c'est pour ça que j'ai utilisé les filtres dynamique,mais lorsque je teste cette requête SELECT <colonnes_publiées> FROM [dbo].[table1] WHERE .[table1].code=CONVERT(int,HOST_NAME()) un message d'erreur est signalé comme quoi il est impossible de réaliser cet conversion
    j'ai trouvé cet article http://technet.microsoft.com/fr-fr/l.../ms152478.aspx et j'ai respecté les différentes étapes mais c'est tjrs le même message d'erreur

    Des idées????
    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    host_name est une chaine de caractères. Il est impossible de la convertir en entier.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut 'rowguidcol' : nom de colonne incorrect.
    Bonjour,

    j'ai essayé de realisé une replication de fusion en recpectant les # etapes mais un message d'erreur est signalé


    'rowguidcol' : nom de colonne incorrect.
    vous avez une idées sur ce message d'erreur
    franchemant c'est pas evident tous ça pourtant ça à l'air d'être simple
    merci d'avance

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    pour ta fusion dynamique, si tu passes par la configuration par les fenêtres, n'oublie pas de définir tes filtres de cette manière :

    CONVERT(nchar,tacolonne) = HOST_NAME() pour que l'assistant ne lève pas une erreur. Il faut ensuite modifier ton article par sp_changemergearticle pour positionner le convert sur le host_name(). Le lien que tu as posté le précise bien.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    Salut

    je vais d'abord vous présenter mon application pour bien comprendre la situation
    j'ai une BD principale qui contient tte l'information, il est installer sur un serveur.
    j'ai 4 BD qui sont installer sur le même serveur(autre que le serveur de BD principale),chaque BD contient ses propres information,bien sur une copie existe dans la BD principale

    ex
    BD principale
    table test: 1 test1
    2 test2
    3 test3
    4 test4

    BD1
    table test: 1 test1

    BD2
    table test: 2 test2


    j'ai créé une publication parametrable avec un filtre dynamique,
    voila le filtre utilisé
    SELECT <colonnes_publiées> FROM [dbo].[test] WHERE
    CONVERT(nchar,[test].code)=HOST_NAME()


    il me reste mnt que creer autant d'abonnés que de BD secondaire(ds ce cas 4)

    host_name:c'est le nom de la machine
    pour cette application le filtre c'est test.code.

    je veux savoir comment je peux changer la valeur de host _name() pour chaque abonné??
    j'ai trouvé cet article http://www.supinfo-projects.com/fr/2...5Fdynamique/1/ mais ça marche pas

    Des idées????
    Merci d'avance

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    merci pour ces précision, le problème est bien compris mais je suis désolé, il faudrait vraiment que tu précises pas à pas ta démarche jusqu'à l'obtention de ton message d'erreur (et donner autre chose qu'un "ça marche pas", on a du mal à voir ...).

    est-ce que tu utilises les procédures stockées système ou l'assistant ?

    encore merci

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    D'abord je tiens à vous remercier pour votre réponse
    Ensuite, j'utilise l'assistant pour creer une publication ansi que les abonnées
    Enfin,j'ai utilisé cette requete
    SELECT <colonnes_publiées> FROM [dbo].[test] WHERE
    test=(select code from test)

    je veux que la table Test(qui est en rouge) dependra des abonnées
    bref je veux que le parametre dependra des BD secondaire et non pas de la BD principale.
    j'espére que j'ai été clair

    merci encore une fois

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 6
    Par défaut
    N'y aurait il pas un probleme sur la requete de filtre ?
    Citation Envoyé par zalalus
    SELECT <colonnes_publiées> FROM [dbo].[test] WHERE
    test=(select code from test)
    Le "select code from test" renvoie potentiellement plusieur ligne,
    hors l'utilisation de "test=(select...)" ne peut se faire que si le select ne renvoie qu'une seule valeur (enfin il me semble)
    Dans le cas où le select renvoie plusieur valeur, il faut utiliser le "test in (select...)"


    Mais ceci n'explique pas le "'rowguidcol' : nom de colonne incorrect"....

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 433
    Par défaut
    bonjour,

    Concernant la réplication de fusion dynamique,j’ai trouvé une solution en utilisant (les snapshot)
    mnt mon soucis est le suivant :
    Lorsque je fais un ajout au niveau des bd secondaires la ligne ajouté se deplace vers la BD principale .
    Autre chose dés que j'essaye une modif au niveau de BD principale
    ça se ne replique pas et ça bloque la replication dans les 2 sens

    j'espere que c'est clair pour vous

    des idées?

    Merci

Discussions similaires

  1. Replication par fusion
    Par myclub dans le forum Réplications
    Réponses: 1
    Dernier message: 12/02/2008, 22h57
  2. [SQL serveur 2005] replication de fusion
    Par balabonov dans le forum Réplications
    Réponses: 12
    Dernier message: 22/05/2007, 15h01
  3. [SQL serveur 2005] replication de fusion
    Par balabonov dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 22/05/2007, 15h01
  4. replication de fusion:Substitution de la valeur de HOST_NAME()
    Par zalalus dans le forum Réplications
    Réponses: 1
    Dernier message: 07/04/2007, 00h55
  5. replication de fusion:Substitution de la valeur de HOST_NAME()
    Par zalalus dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/04/2007, 00h55

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