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

WinDev Discussion :

Problème en réplication hétérogène


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut Problème en réplication hétérogène
    Bonjour, à tous,

    Je travaille sur une réplication entre une Base HF classique et une Base HF C/S.

    J'initialise les fichiers pour la 1er réplication, puis les importe dans mes bases clientes.

    Je ne spécifie pas les tables à exporter.

    Initialisation du Réplicat Abonné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HGèreRéplication(rplRéplicationUniverselle)
    HCréeRéplicaAbonné(REP_SITE_CENTRAL,REP_SITE_ABONNE,Operateur.LoginOP,0)
    HCréeRéplicaTransportable(REP_SITE_CENTRAL+"ReplicaMaitre.RPM",Operateur.LoginOP,"","")
    Import par l'Abonné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HGèreRéplication(rplRéplicationUniverselle)
     
    // Récupere la liste des fichiers
    ResFichier = fRep(gsREP_SITE_ABONNE + "To_" + gsLoginID + "*.RPA", frFichier)
     
    TANTQUE ResFichier <> ""
    	HSynchroniseRéplica(gsREP_SITE_ABONNE + ResFichier, gsREP_SITE_ABONNE,rplVersAbonné,rplPlusRécentPrioritaire)
    	ResFichier = fRep("", frFichier)
    FIN
    Au moment de l'importation chez l'abonné, certaines tables sont importés, d'autres pas. J'ai regardé dans le fichier RPA, je retrouve bien les données expoter par le maître.

    Je suppose pourtant que l'ensemble des donnés devrait être importé au moment de l'initialisation des bases abonnées ?

    Ha oui, je me pose une question aussi, est-il nécessaire d'avoir un champ date dans toutes les tables répliquées dans le cadre d'une réplication entre une base HF classique et une une Base HF C/S ?

    J'ai essayé avec et sans, mais ça ne semble pas changer quelque chose à mon problème.

    Vraiment, plus le temps passe moins j'y comprends quelque chose à la réplication.

    Donc si une personne qui a utilisé la réplication avec succès peut me donner des informations, cela serait très sympa.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut
    Bon, j'ai un début de piste, le problème est lié aux cardinalités entre mes tables.

    J'ai les relations suivantes :

    Client [0,N]->[1,1] Cotation

    Cotation [0,N]->[1,1] LigneCotation

    LigneCotation [1,1]<-[0,N] Article

    Article [0,N]->[1,1] Photo

    Article [0,1]<-[0,N] Famille_Articles

    Article [0,1]<-[0,N] Sous_Famille_Articles

    J'ai des suppressions et modifications en cascades entre toutes ces tables.

    Je suppose que je dois spécifier le bon ordre au moment de la création du réplicat abonné (Hcréeréplicaabonné) car j'ai vu dans la documentation que l'ordre de déclaration des tables est lié à la cardinalité entre les tables.

    Mais je ne trouve pas la bonne syntaxe ou le bon ordre de déclaration pour le moment.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HCréeRéplicaAbonné(REP_SITE_CENTRAL,REP_SITE_ABONNE,Operateur.LoginOP,0,"LigneCotation"+RC+"Article"+RC+"Cotation")
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HCréeRéplicaAbonné(REP_SITE_CENTRAL,REP_SITE_ABONNE,Operateur.LoginOP,0,...
    		"LigneCotation"+RC+"Article"+RC+...
    		"LigneCotation"+RC+"Cotation")
    La syntaxe n'est pas très claire dans le cadre de liaisons multitables.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 122
    Points : 136
    Points
    136
    Par défaut
    Bon, j'ai la bonne syntaxe maintenant, mais je comprends toujours pas ce qui conditionne l'ordre des tables.

    Pour le moment j'ai agencé l'ordre des tables de façon assez empirique et cela semble fonctionné, mais c'est loin d'être satisfaisant intellectuellement parlant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    HCréeRéplicaAbonné(REP_SITE_CENTRAL,REP_SITE_ABONNE,Operateur.LoginOP,0,...
    		"Client"+RC+...
    		"Cotation"+RC+...
    		"Famille_Articles"+RC+...
    		"Sous_Famille_Articles"+RC+...
    		"Article"+RC+...
    		"Photo"+RC+...
    		"LigneCotation"+RC+...
    		"Application_Parametres_Cotes"+RC+...
    		"Permissions_Cotes"+RC+...
    		"Operateur"+RC+...
    		"Modules_Cotes"+RC+...
    		"Groupe_Operateur"+RC+...
    		"Groupe_de_Travail_Cotes")

Discussions similaires

  1. Proble avec un vhosts sous Apache (Mandrake 10.1)
    Par __fabrice dans le forum Apache
    Réponses: 2
    Dernier message: 27/05/2005, 13h11
  2. Aide sur la RS 232
    Par Andr0 dans le forum C
    Réponses: 5
    Dernier message: 12/04/2005, 13h58
  3. Proble capture direct Show
    Par liliemumue dans le forum DirectX
    Réponses: 3
    Dernier message: 13/12/2004, 21h04
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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