DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Nom du réplica transportable (Réplication universelle)
  • Variables automatiquement initialisées dans la procédure WLangage de filtrage des enregistrements
  • Réplication et fonction EspaceSignificatif
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
HCréeRéplicaTransportable (Fonction)
En anglais : HCreateMovableReplica
ODBCOLE DBNon disponible avec ces types de connexion
Crée un fichier de réplication transportable. Ce fichier peut être utilisé pour répliquer les données de la base de données en cours vers une base de données distante (pour envoi par email ou FTP par exemple).
Cette fonction est utilisable avec une réplication journalée ou une réplication universelle.
Remarque : Il est possible de créer un réplica transportable de la base maître ou de la base abonnée. Pour créer un réplica transportable destiné à un abonné (réplication maître vers abonné), il est nécessaire d'ouvrir auparavant les fichiers de données maître.
Universal Windows 10 AppAndroidWidget AndroidiPhone/iPad Seule la réplication universelle est disponible.
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5
// REPLICATION JOURNALEE
// A Montpellier : Préparation de l'envoi des messages Ã  Paris
HCréeRéplicaTransportable("P:\MSG\MSG.RPM", "Paris", "c:\temp\MsgMPL.WDZ")
// Envoie du fichier (par FTP par exemple)
FTPEnvoie("c:\temp\MsgMPL.WDZ", "FTP.PCSOFT_PARIS.FR\MSG\MsgMPL.WDZ") 
----------------
// A Paris : Récupération des messages de Montpellier
HSynchroniseRéplica("Z:\MSG", "\\FTPSERVEUR\MSG\MsgMPL.WDZ", rplVersMaître)
Syntaxe
<Résultat> = HCréeRéplicaTransportable(<Réplica Maître ou Réplica Abonné> , <Identifiant du réplica abonné> , <Nom du fichier de réplication à créer> [, <Filtre des enregistrements à répliquer>])
<Résultat> : Booléen
  • Vrai si le fichier correspondant au réplica transportable a été créé,
  • Faux dans le cas contraire.
<Réplica Maître ou Réplica Abonné> : Chaîne de caractères
Nom et chemin complet (ou relatif) du Réplica Maître (fichier ".RPM") ou du Réplica Abonné (fichier ".RPL"). Un chemin de type UNC est autorisé.
Si ce paramètre n'est pas précisé ou correspond à une chaîne vide (""), le fichier de description sera recherché dans le répertoire en cours.
Attention : ce répertoire doit être accessible lors de l'exécution de la fonction HCréeRéplicaTransportable.
<Identifiant du réplica abonné> : Entier ou chaîne de caractères
Identifiant du Réplica Abonné à utiliser. Cet identifiant a été renvoyé par la fonction HCréeRéplicaAbonné. Cet identifiant est nécessaire uniquement lors d'une réplication de la base de données maître vers la base de données abonnée, sinon il est ignoré.
En réplication universelle, ce paramètre est nécessaire dans tous les cas.
<Nom du fichier de réplication à créer> : Chaîne de caractères
Nom complet correspondant au fichier physique de réplication à créer. Ce fichier contient uniquement les données nécessaires à la réplication distante vers le réplica (maître ou abonné) identifié par son identifiant. Ce fichier contient les données modifiées depuis la dernière réplication réussie.
Le fichier créé est un fichier archive (fichier d'extension ".WDZ" par défaut), contenant la description du réplica maître ou abonné et les extraits des fichiers de données nécessaires à l'opération de réplication. Cette extension peut être modifiée.
Dans le cas de la réplication universelle, le contenu de ce paramètre est ignoré. Il est conseillé d'utiliser une chaîne vide ("") : le nom du fichier sera automatiquement calculé par la fonction.
Après l'exécution de la fonction HCréeRéplicaTransportable, la variable RPL.Fichier contient le nom du fichier de réplication transportable créé. Attention : La valeur de cette variable est disponible uniquement jusqu'au prochain appel d'une fonction de réplication.
<Filtre des enregistrements à répliquer> : Chaîne de caractères optionnelle
Nom de la procédure WLangage de filtre appelée pour chaque enregistrement pris en compte par la réplication.
Cette procédure permet de filtrer les enregistrements à répliquer. Si cette procédure renvoie Faux, l'enregistrement n'est pas pris en compte :
  • il ne sera pas copié dans la base abonnée dans le cas d'une première synchronisation,
  • il sera supprimé de la base abonnée, si il avait été pris en compte lors d'une synchronisation précédente.
Si cette procédure renvoie Vrai, l'enregistrement est pris en compte par la réplication.
Plusieurs variables sont utilisables dans cette procédure (voir Remarques).
Remarques

Nom du réplica transportable (Réplication universelle)

Ce nom est automatiquement construit par la fonction HCréeRéplicaTransportable.
Ce nom est de la forme :
  • Réplica créé depuis la base maître pour mettre à jour l'abonné : To_<NomAbonne>_<XXX>.RPA
  • Réplica créé depuis la base abonnée pour mettre à jour la base maître : From_<NomAbonne>_<XXX>.RPA
    où :
    • <NomAbonne> : Nom en clair de l'abonné (identifiant donné dans la fonction HCréeReplicaAbonné).
    • <XXX> : Numéro du réplica (Incrémenté par abonné et par sens de la réplication).
Après l'exécution de la fonction HCréeRéplicaTransportable, la variable RPL.Fichier contient le nom du fichier de réplication transportable créé. Attention : La valeur de cette variable est disponible uniquement jusqu'au prochain appel d'une fonction de réplication.

Variables automatiquement initialisées dans la procédure WLangage de filtrage des enregistrements

Les variables suivantes sont automatiquement initialisées dans la procédure WLangage de filtrage des enregistrements (le nom de la procédure correspond au paramètre <Filtre des enregistrements à répliquer>).
VariableTypeDescription et valeurs
RPL.FichierChaîne de caractèresNom du fichier dont les données vont être répliquées.
RPL.OpérationConstante de type EntierOpération HFSQL qui va être répliquée :
  • rplHAjoute : réplication d'un ajout.
  • rplHModifie : réplication d'une modification.
  • rplHSupprime : réplication d'une suppression.
RPL.ConflitConstante de type EntierIndique si un conflit est détecté lors de la réplication. Les valeurs possibles sont les suivantes :
  • rplPasDeConflit : aucun conflit n'a été détecté.
  • rplConflitModification : Enregistrement a été modifié à la fois sur le réplica source et sur le réplica destination.
  • rplConflitSuppression : Enregistrement supprimé sur le réplica destination et modifié ou supprimé sur le réplica source.
Pour forcer la réplication en cas de conflit, initialisez la variable RPL.Conflit avec la constante rplPasDeConflit.
Dans le cas contraire, la réplication sera effectuée uniquement si le conflit est un conflit de modification et si les données à répliquer proviennent de la base de données maître.
RPL.SensConstante de type EntierIndique le sens de la réplication (utile lors d'une réplication bi-directionnelle) :
  • rplVersAbonné : réplication du maître vers l'abonné.
  • rplVersMaître : réplication de l'abonné vers le maître.
RPL.NumOpérationEntierNuméro de l'opération en cours. Cette valeur est comprise entre 1 et RPL.MaxOpération. Cette variable permet de gérer simplement une jauge de progression.
RPL.MaxOpérationEntierNombre total d'opérations à répliquer. Cette variable permet de gérer simplement une jauge de progression.
RPL.AliasSourceChaîne de caractèresNom de l'alias Source du fichier répliqué (RPL.Fichier). Ce fichier contient les valeurs des rubriques qui vont être copiées (fonction HModifie) ou ajoutées (fonction HAjoute) dans le fichier de données en cours de réplication.
RPL.AliasDestinationChaîne de caractèresNom de l'alias Destination du fichier répliqué (RPL.Fichier). Ce fichier contient les valeurs des rubriques avant la copie ou la suppression dans le fichier de données en cours de réplication.

Réplication et fonction EspaceSignificatif

La réplication est incompatible avec l'utilisation de la fonction EspaceSignificatif dans le code de l'application cliente. Cette fonction change le comportement de HFSQL. L'utilisation de cette fonction dans l'application cliente peut affecter l'efficacité de la réplication.
Depuis la version 21 update 3 (version 210065), les fonctions de synchronisation (réplication universelle programmée ou assistée) renvoient une erreur à l'application cliente si la fonction EspaceSignificatif a été appliquée pour l'un au moins des fichiers répliqués.
Composante : wd290rpl.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/12/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale