Bonjour,
Soit une base HF Classic accessible sur un partage réseau par 6 utilisateurs.
Un utilisateur doit pouvoir accéder à la base en mode déconnecté puis à son retour mettre à jour la base.
J'ai donc pensé à réaliser une réplication universelle afin de lui permettre de partir avec la base, travailler sur son portable puis resynchroniser à son retour sur le réseau.
Je n'ai jamais fait cela et je bloque pour cette première.
Voici mon code (insperé du site Developpez.com :
===>BTN_Créer_Replicat_Maitre
Multitâche(20)
Sablier(Vrai)
HGèreIntégrité("*","*",hCardinalité+hEnModification+hEnSuppression,Faux)
HGèreRéplication(rplRéplicationUniverselle)
HDécritConnexion("ConnexionMaitre", "", "", gsDonnéesMaitre, "", hAccèsHF7)
HDécritConnexion("ConnexionAbonne", "", "", gsDonneesAbonné, "", hAccèsHF7)
HOuvreConnexion("ConnexionMaitre")
HChangeConnexion("*","ConnexionMaitre")
HCréeRéplicaMaître(gsRepertoireMaitre)
Sablier(Faux)
===>BTN_Créer_Replicat_Abonne
sListeTables est une chaîne =HListeFichier()
Multitâche(20)
Sablier(Vrai)
HGèreIntégrité("*","*",hCardinalité+hEnModification+hEnSuppression,Faux)
HGèreRéplication(rplRéplicationUniverselle)
HDécritConnexion("ConnexionMaitre", "", "", gsDonnéesMaitre, "", hAccèsHF7)
HDécritConnexion("ConnexionAbonne", "", "", gsDonneesAbonné, "", hAccèsHF7)
HOuvreConnexion("ConnexionAbonne")
HChangeConnexion("*","ConnexionAbonne")
HChangeRep("*", gsRepertoireAbonne)
HCreation(Activité)
Multitâche(20)
HCréeRéplicaAbonné(gsRepertoireMaitre,gsRepertoireAbonne,sIdentifiantAbonné,0,sListeTables)
Multitâche(-500)
HOuvreConnexion("ConnexionMaitre")
HChangeConnexion("*", "ConnexionMaitre")
HChangeRep("*",gsRepertoireMaitre)
SI HCréeRéplicaTransportable(sRéplicaMaitre,sIdentifiantAbonné,"") ALORS
HOuvreConnexion("ConnexionAbonne")
HChangeConnexion("*", "ConnexionAbonne")
HChangeRep("*",gsRepertoireAbonne)
sRéplicaTRansportable = gsRepertoireMaitre + RPL.Fichier
SI HSynchroniseRéplica(sRéplicaTRansportable, sRéplicaAbonné,rplVersAbonné) ALORS
Multitâche(-500)
SINON
FinProgramme("Echec de synchronisation.", ErreurInfo())
FIN
SINON
Erreur("Echec de création du premier réplica Transportable",ErreurInfo())
FIN
Sablier(Faux)
Mon problème :
* Le réplicat maitre se crée bien dans mon répertoire (RplMaitre.RPM avec tous les fichiers de donnée mais ils sont tous vides normal ?).
* J'ai dans le même répertoire un fichier Identifiant_M_001.SYN
* Dans mon répertoire de l'abonné, j'ai la création des tables (vides)
* Dans ce même répertoire, j'ai un fichier Replicat_Identifiant.RPL
* la fonction HSynchroniseReplica renvoie VRAI
POURTANT :
mes fichiers de donnée sur le poste abonné restent vides alors que si j'ai bien compris je devrais récupérer une copie du maître.
POURQUOI ?
Merci de votre aide.
Bonne journée et désolé pour la longueur de cette question.