PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → [WD9] Réplication hétérogène et filtre d'entregistrement
[WD9] Réplication hétérogène et filtre d'entregistrement
Débuté par guest, 18 jan. 2006 10:02 - 2 réponses
Posté le 18 janvier 2006 - 10:02
Bonjour,

Je réalise une réplication hétérogène entre une base de données HF client/serveur (serveur au siège social) et une base de données HF classic (sur des portables).

Lors de la réplication Maitre vers Abonné, j'utilise actuellement la fonction avec gestion automatique des conflits et cela semble fonctionner très correctement.

HSynchroniseRéplica(RepMaitreReplic+"\"+RPL.Fichier,RepAbonneReplic+"\Replica_"+NetNomMachine()+".RPL",rplVersAbonné)

Toutes les données de la base sont alors répliquées.

J'aimerais pouvoir filtrer les enregistrements à répliquer et souhaite donc utiliser la gestion de conflit personnalisée. J'ai donc créé la fonction suivante (dans un premier temps je veux juste voir si cela marche sans filtré les enregistrements).

PROCEDURE Filtre_Maitre_Abonne()

RPL.Conflit = rplPasDeConflit
RENVOYER Vrai

Puis je lance désormais la fonction avec le nouveau paramétre,

HSynchroniseRéplica(RepMaitreReplic+"\"+RPL.Fichier,RepAbonneReplic+"\Replica_"+NetNomMachine()+".RPL",rplVersAbonné,"Filtre_Maitre_Abonne")

Malheureusement, cela ne fonctionne pas... aucun enregistrement n'apparaît.

Ai je fait une erreur de syntaxe ? La documentation étant très pauvre et un exemple inexistant, je ne sais pas comment faire pour que cela fonctionne ?!

Quelqu'un a t'il déjà mis ceci en place et pourrait il m'aider ?

Merci par avance pour vos suggestions,
Cordialement

Etienne Andrieux
pour me répondre directement :
http://cerbermail.com/…
Posté le 18 janvier 2006 - 11:21
Je pense qu'il faut garder votre syntaxe d'origine et, avant de lancer la
création du réplica transportable de positionner la variable :
RPL.Conflit = rplPasDeConflit

Je n'utilise pas cette varailbe mais je gère les conflits en ajoutant la
constante rplPlusRécentPrioritaire dans la procedure HSunchroniseReplica.

--
Cordialement.

Patrick Bouquet
Membre WINDASSO - Association des utilisateurs WxxDEV(c)
http://www.windasso.org


"Etienne Andrieux" <guest@newsgroup.fr> a écrit dans le message de news:
43cdf561$1@news.pcsoft.fr...

Bonjour,

Je réalise une réplication hétérogène entre une base de données HF
client/serveur (serveur au siège social) et une base de données HF classic
(sur des portables).

Lors de la réplication Maitre vers Abonné, j'utilise actuellement la
fonction avec gestion automatique des conflits et cela semble fonctionner
très correctement.

HSynchroniseRéplica(RepMaitreReplic+"\"+RPL.Fichier,RepAbonneReplic+"\Replica_"+NetNomMachine()+".RPL",rplVersAbonné)

Toutes les données de la base sont alors répliquées.

J'aimerais pouvoir filtrer les enregistrements à répliquer et souhaite
donc utiliser la gestion de conflit personnalisée. J'ai donc créé la
fonction suivante (dans un premier temps je veux juste voir si cela marche
sans filtré les enregistrements).

PROCEDURE Filtre_Maitre_Abonne()

RPL.Conflit = rplPasDeConflit
RENVOYER Vrai

Puis je lance désormais la fonction avec le nouveau paramétre,

HSynchroniseRéplica(RepMaitreReplic+"\"+RPL.Fichier,RepAbonneReplic+"\Replica_"+NetNomMachine()+".RPL",rplVersAbonné,"Filtre_Maitre_Abonne")

Malheureusement, cela ne fonctionne pas... aucun enregistrement
n'apparaît.

Ai je fait une erreur de syntaxe ? La documentation étant très pauvre et
un exemple inexistant, je ne sais pas comment faire pour que cela
fonctionne ?!

Quelqu'un a t'il déjà mis ceci en place et pourrait il m'aider ?

Merci par avance pour vos suggestions,
Cordialement

Etienne Andrieux
pour me répondre directement :
http://cerbermail.com/…


Posté le 18 janvier 2006 - 15:06
Merci pour votre réponse mais il semble que le code RPL.Conflit = rplPasDeConflit doivent vraiment être dans la procédure (après essai, cela n'a aucune influence en dehors de celle-ci).

Cordialement