PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Probleme de réplication
Probleme de réplication
Débuté par LE GUEN Olivier, 18 avr. 2005 12:54 - 4 réponses
Posté le 18 avril 2005 - 12:54
Bonjour,

Je souhaite mettre en place la réplication sur plusieurs sites distants (sous Windev 9).
J'utilise une base de données hyperfile. Dans cette base, le sens de réplication n'est pas le même pour tous les fichiers. Certains fichiers de la base de données abonné doivent se mettre à jour en fonction de la base de données maître et inversement.
Je desire réaliser cela par programmation et non en utilisant WDReplic. De plus mes fichiers HF sont accessibles via les methodes HChangeRep() et sont bien configurés pour la réplication.
La démarche que j'ai suivi est la suivante : j'ai crée trois répertoires differents contenant respectivement les fichiers qui seront à répliquer du maitre vers les abonnés, des abonnés vers le maitre et de maniere bi directionnelle. J ai crée un replica maitre dans chacun de ces repertoires. Du cote des abonnés qui ont la meme structure, j ai egalement cree un replica abonne par repertoire en utilisant les méthodes HCréeRéplicaMaître et HCréeRéplicaAbonné.
Lors de l'initialisation, ces creations fonctionnent bien.
Mais lorsque je tente de lancer une replication par exemple concernant les fichiers qui doivent se repliquer du maitre vers les abonnes en utilisant la methode HSynchroniseRéplica(chemin replica maitre,chemin replica abonne, rplVersAbonné,rplPlusRecentPrioritaire)
Le message suivant apparait

La réplication n'est pas possible car les fichiers <T_Devise> et <T_Client> ont des tables d'opération différentes :
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroMaitreAbonne>
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroBiDirectionnelle>
Modifiez votre analyse pour que ces 2 fichiers utilisent la même table d'opération.
Code erreur : 180029

Et en effet ces fichiers ont des tables d operation differents vu que l'un doit se repliquer du maitre vers l abonne et l autre de maniere bidirectionnelle. Je ne comprends pas pourquoi ils interferent.
Pouvez m'aider et me dire ou je commet une erreur.
Par avance merci,
Posté le 18 avril 2005 - 19:29
T'as un super exemple dans la LST 56.
Je te conseil de prendre le temps de le regarder si tu as cette LST.

Antoine

"LE GUEN Olivier" <olivier.leguen@blitz-software.com> a écrit dans le
message de news: 42636a41$1@news.pcsoft.fr...

Bonjour,

Je souhaite mettre en place la réplication sur plusieurs sites distants
(sous Windev 9).
J'utilise une base de données hyperfile. Dans cette base, le sens de
réplication n'est pas le même pour tous les fichiers. Certains fichiers de
la base de données abonné doivent se mettre à jour en fonction de la base
de données maître et inversement.
Je desire réaliser cela par programmation et non en utilisant WDReplic. De
plus mes fichiers HF sont accessibles via les methodes HChangeRep() et
sont bien configurés pour la réplication.
La démarche que j'ai suivi est la suivante : j'ai crée trois répertoires
differents contenant respectivement les fichiers qui seront à répliquer du
maitre vers les abonnés, des abonnés vers le maitre et de maniere bi
directionnelle. J ai crée un replica maitre dans chacun de ces
repertoires. Du cote des abonnés qui ont la meme structure, j ai egalement
cree un replica abonne par repertoire en utilisant les méthodes
HCréeRéplicaMaître et HCréeRéplicaAbonné.
Lors de l'initialisation, ces creations fonctionnent bien.
Mais lorsque je tente de lancer une replication par exemple concernant les
fichiers qui doivent se repliquer du maitre vers les abonnes en utilisant
la methode HSynchroniseRéplica(chemin replica maitre,chemin replica
abonne, rplVersAbonné,rplPlusRecentPrioritaire)
Le message suivant apparait

La réplication n'est pas possible car les fichiers <T_Devise> et
<T_Client> ont des tables d'opération différentes :
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroMaitreAbonne>
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroBiDirectionnelle>
Modifiez votre analyse pour que ces 2 fichiers utilisent la même table
d'opération.
Code erreur : 180029

Et en effet ces fichiers ont des tables d operation differents vu que l'un
doit se repliquer du maitre vers l abonne et l autre de maniere
bidirectionnelle. Je ne comprends pas pourquoi ils interferent.
Pouvez m'aider et me dire ou je commet une erreur.
Par avance merci,





Posté le 19 avril 2005 - 11:19
Ben en fait c est sur cet exemple que je me suis appuyé... et ca fonctionne relativement bien. Simplement, mon problème vient du fait que toutes mes tables ne sont pas gérés de la même manière. Certaines sont à répliquer de manière bi directionnelle, d'autres mono directionnelles, et ce point n'est pas traité dans la LST. A moins qu on puisse au moment du HsynchroniseReplica déterminer les tables concernés par cette réplication mais je n'ai pas réussi jusqu à présent (à utiliser par exemple les procedures de filtres).
J'en profite d ailleurs pour poser une autre petite question : est-il strictement nécessaire que les bases maitres et abonnés soient identiques au moment de l'initialisation car dans mon cas, on rajoute des abonnés au fur et a mesure que les sites sont installés et ces sites ont des tables avec des infos bien spécifiques a chaque site et ces tables seront a repliquer de maniere mono directionnelle vers le maitre pour avoir une base au siege globale.
Merci pour votre aide!
Posté le 22 juin 2006 - 23:34
Bonjour,

La réponse se situe au niveau de l'analyse dans la description des fichiers,
l'onglet "Divers"

Vérifiez le chemin des accès et du journal de tout vos fichiers.


"LE GUEN Olivier" <olivier.leguen@blitz-software.com> a écrit dans le
message de news: 42636a41$1@news.pcsoft.fr...

Bonjour,

Je souhaite mettre en place la réplication sur plusieurs sites distants
(sous Windev 9).
J'utilise une base de données hyperfile. Dans cette base, le sens de
réplication n'est pas le même pour tous les fichiers. Certains fichiers de
la base de données abonné doivent se mettre à jour en fonction de la base
de données maître et inversement.
Je desire réaliser cela par programmation et non en utilisant WDReplic. De
plus mes fichiers HF sont accessibles via les methodes HChangeRep() et
sont bien configurés pour la réplication.
La démarche que j'ai suivi est la suivante : j'ai crée trois répertoires
differents contenant respectivement les fichiers qui seront à répliquer du
maitre vers les abonnés, des abonnés vers le maitre et de maniere bi
directionnelle. J ai crée un replica maitre dans chacun de ces
repertoires. Du cote des abonnés qui ont la meme structure, j ai egalement
cree un replica abonne par repertoire en utilisant les méthodes
HCréeRéplicaMaître et HCréeRéplicaAbonné.
Lors de l'initialisation, ces creations fonctionnent bien.
Mais lorsque je tente de lancer une replication par exemple concernant les
fichiers qui doivent se repliquer du maitre vers les abonnes en utilisant
la methode HSynchroniseRéplica(chemin replica maitre,chemin replica
abonne, rplVersAbonné,rplPlusRecentPrioritaire)
Le message suivant apparait

La réplication n'est pas possible car les fichiers <T_Devise> et
<T_Client> ont des tables d'opération différentes :
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroMaitreAbonne>
<C:\Mes Projets\caisse_blitz\hf_maitre\tables\SynchroBiDirectionnelle>
Modifiez votre analyse pour que ces 2 fichiers utilisent la même table
d'opération.
Code erreur : 180029

Et en effet ces fichiers ont des tables d operation differents vu que l'un
doit se repliquer du maitre vers l abonne et l autre de maniere
bidirectionnelle. Je ne comprends pas pourquoi ils interferent.
Pouvez m'aider et me dire ou je commet une erreur.
Par avance merci,





Membre enregistré
11 messages
Posté le 21 septembre 2018 - 12:06
Bonjour
j'utilise "WDREPLIC "pour effectuer une réplication unidirectionnelle par média transportable.
Lors de l’exécution il me demande le fichier(SRP) . je ne le trouve nulle part ?
Pouvez vous m'aider?
Merci