|
|
|
|
|
- Quels fichiers de données peuvent être répliqués ?
- Paramètres de la synchronisation
- Blocage d'enregistrements pendant la réplication journalée
- Erreurs de doublons et/ou d'intégrité
- Variables automatiquement initialisées dans la procédure WLangage
- Exemple : Répliquer les données même si un conflit est intervenu (utilisation d'une procédure WLangage) :
- Réplication et fonction EspaceSignificatif
- Durée de vie du réplica transportable
- Réplication et filtre
HSynchroniseRéplica (Fonction) En anglais : HSynchronizeReplica
Non disponible avec ces types de connexion
Synchronise le réplica maître et le réplica abonné : les opérations effectuées sur un des réplicas sont transférées dans l'autre réplica. Cette fonction est utilisable aussi bien lors d'une réplication journalée (entre des fichiers de données HFSQL) que lors d'une réplication universelle. Remarques : - Dans le cas d'une réplication journalée, seuls les fichiers de données présents dans l'analyse avec l'option "Gérer la réplication pour ce fichier" seront pris en compte.
- Seule la réplication universelle fonctionne avec des fichiers de données HFSQL Client/Serveur.
Avertissement
A partir de la version 17, les fichiers de la réplication créés avec une application/site en version 17 ou supérieure ne pourront pas être manipulés avec une application/site en version 16 ou inférieure. Les applications/sites en version 17 ou supérieure continuent de manipuler les fichiers de réplication créés avec une application/site en version 16 ou inférieure.
Syntaxe
Synchronisation avec gestion de conflit automatique Masquer les détails
<Résultat> = HSynchroniseRéplica(<Réplica maître> , <Réplica abonné> , <Sens de la réplication> [, <Gestion des conflits>])
<Résultat> : Booléen - Vrai si l'opération a réussi,
- Faux sinon.
<Réplica maître> : Chaîne de caractères Localisation du réplica maître. Ce paramètre peut correspondre selon le sens et le type de la réplication :- au chemin du fichier de réplication (fichier xxxx.rpm) de la base maître.
- au nom de fichier transportable créé avec la fonction HCréeRéplicaTransportable.
- à une chaîne vide (""). Les fichiers de données en cours sont considérés comme étant la base maître. Le fichier correspondant au réplica maître (fichier ".rpm") est recherché soit dans le répertoire de réplication spécifié dans l'analyse (par défaut, sous-répertoire RPL des fichiers de données), soit dans le répertoire spécifié avec la fonction HChangeRepRpl.
En général, ce chemin correspond soit au chemin complet d'un fichier présent sur un répertoire réseau, soit au chemin d'un réplica transportable (clé USB, attachement email, fichier récupéré par FTP). Pour plus de détails, consultez les remarques. <Réplica abonné> : Chaîne de caractères Localisation du réplica abonné. Ce paramètre peut correspondre selon le sens et le type de réplication :- au chemin du fichier de réplication (fichier xxxx.rpl) de la base abonnée.
- au nom de fichier transportable créé avec la fonction HCréeRéplicaTransportable
- à une chaîne vide (""). Les fichiers de données en cours sont considérés comme étant la base abonnée. Le fichier correspondant au réplica abonné (fichier ".rpl") est recherché soit dans le répertoire de réplication spécifié dans l'analyse (par défaut, sous-répertoire RPL des fichiers de données), soit dans le répertoire spécifié avec la fonction HChangeRepRpl.
En général, ce chemin correspond soit au chemin complet d'un fichier présent sur un répertoire réseau, soit au chemin d'un réplica transportable (clé USB, attachement email, fichier récupéré par FTP). Pour plus de détails, consultez les remarques. <Sens de la réplication> : Constante de type entier Sens dans lequel la réplication doit être effectuée : | | rplBidirectionnel | Mise à jour de la base de données maître ET de la base de données abonnée.
Réplication universelle : la réplication bidirectionnelle n'est pas disponible. | rplVersAbonné | Mise à jour de la base de données abonnée en fonction de la base de données maître.
<Réplica Maître> correspond au réplica transportable crée depuis la base maître, <Réplica Abonné> correspond au réplica abonné | rplVersMaitre | Mise à jour de la base de données maître en fonction de la base de données abonnée.
<Réplica Maître> correspond au réplica maître, <Réplica Abonné> correspond au réplica transportable créé depuis la base abonnée. |
<Gestion des conflits> : Constante optionnelle de type Entier Constante indiquant le mode de gestion des conflits : | | rplAbonnePrioritaire | Les données présentes dans la base de données abonnée sont prioritaires lors de la réplication. | rplMaitrePrioritaire (Valeur par défaut) | Les données présentes dans la base de données maître sont prioritaires lors de la réplication. | rplPlusRécentPrioritaire | Les données les plus récentes sont prioritaires. Attention, les données les plus récentes sont évaluées par rapport à l'heure sur le poste abonné. |
Attention : Par défaut, le maître est prioritaire : dans le cas d'une réplication abonné vers maître, les données du maître ne seront pas mises à jour. Pensez à utiliser une autre constante (rplPlusRécentPrioritaire par exemple).
Synchronisation avec gestion de conflit personnalisée (procédure WLangage) Masquer les détails
<Résultat> = HSynchroniseRéplica(<Réplica maître> , <Réplica abonné> , <Sens de la réplication> [, <Procédure de filtre>])
<Résultat> : Booléen - Vrai si l'opération a réussi,
- Faux sinon.
<Réplica maître> : Chaîne de caractères Localisation du réplica maître. Ce paramètre peut correspondre selon le sens et le type de la réplication :- au chemin du fichier de réplication (fichier xxxx.rpm) de la base maître.
- au nom de fichier transportable créé avec la fonction HCréeRéplicaTransportable.
- à une chaîne vide (""). Les fichiers de données en cours sont considérés comme étant la base maître. Le fichier correspondant au réplica maître (fichier ".rpm") est recherché soit dans le répertoire de réplication spécifié dans l'analyse (par défaut, sous-répertoire RPL des fichiers de données), soit dans le répertoire spécifié avec la fonction HChangeRepRpl.
En général, ce chemin correspond au chemin complet d'un fichier présent sur un répertoire réseau, soit d'un chemin d'un réplica transportable (clé USB, attachement email, fichier récupéré par FTP). Pour plus de détails, consultez les remarques. <Réplica abonné> : Chaîne de caractères Localisation du réplica abonné. Ce paramètre peut correspondre selon le sens et le type de réplication :- au chemin du fichier de réplication (fichier xxxx.rpl) de la base abonnée.
- au nom de fichier transportable créé avec la fonction HCréeRéplicaTransportable
- à une chaîne vide (""). Les fichiers de données en cours sont considérés comme étant la base abonnée. Le fichier correspondant au réplica abonné (fichier ".rpl") est recherché soit dans le répertoire de réplication spécifié dans l'analyse (par défaut, sous-répertoire RPL des fichiers de données), soit dans le répertoire spécifié avec la fonction HChangeRepRpl.
En général, ce chemin correspond au chemin complet d'un fichier présent sur un répertoire réseau, soit d'un chemin d'un réplica transportable (clé USB, attachement email, fichier récupéré par FTP). Pour plus de détails, consultez les remarques. <Sens de la réplication> : Constante de type entier Sens dans lequel la réplication doit être effectuée : | | rplBidirectionnel | Mise à jour de la base de données maître ET de la base de données abonnée.
Réplication universelle : la réplication bidirectionnelle n'est pas disponible. | rplVersAbonné | Mise à jour de la base de données abonnée en fonction de la base de données maître.
<Réplica Maître> correspond au réplica maître, <Réplica Abonné> correspond au réplica transportable créé depuis la base abonnée. | rplVersMaître | Mise à jour de la base de données maître en fonction de la base de données abonnée.
<Réplica Maître> correspond au réplica transportable crée depuis la base maître, <Réplica Abonné> correspond au réplica abonné |
<Procédure de filtre> : Nom de procédure optionnel Nom d'une procédure WLangage existant dans le projet WINDEV ou WEBDEV (ce nom doit être entouré par des guillemets). Vous devez créer cette procédure dans votre application. Cette procédure n'attend aucun paramètre. Cette procédure est appelée avant chaque opération réalisée sur le fichier destination. Plusieurs variables sont utilisables dans cette procédure. Si cette procédure renvoie Faux, l'opération n'est pas effectuée. Cette procédure permet par exemple :- de filtrer les enregistrements à ne pas répliquer.
- de gérer les cas de conflits, en réglant les valeurs avant qu'une erreur de doublons n'apparaisse.
Pour plus de détails, consultez l'exemple de HSynchroniseRéplica. Remarques Paramètres de la synchronisation Le tableau ci-dessous présente les différentes combinaisons de paramètres à utiliser en fonction du type et du sens de réplication : | | | | Sens de réplication | Paramètre <Réplica Maître> | Paramètre <Réplica Abonné> | Paramètre <Sens de la réplication> |
---|
Réplication du maître vers l'abonné Cette réplication est effectuée sur le poste abonné | Nom du réplica transportable (*.rpa) créé depuis le maître, avec son éventuel chemin | Nom du réplica abonné (*.rpl), avec son éventuel chemin. | rplVersAbonné | Réplication de l'abonné vers le maître Cette réplication est effectuée sur le poste maître | Nom du réplica maître (*.rpm), avec son éventuel chemin. | Nom du réplica transportable (*.rpa) créé depuis l'abonné, avec son éventuel chemin. | rplVersMaître |
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. Durée de vie du réplica transportable Le réplica est détruit à la fin de la réplication en cas de réussite. En effet, rejouer le réplica engendre des erreurs (par exemple, un ajout donne une erreur de doublon). Le réplica utilise le fichier ".syn" qui lui aussi est détruit (un autre fichier ".syn" le remplace avec les informations inutiles purgées). Un réplica "transportable" est déplacé (copié) entre le maître et l'abonné ou entre l'abonné et le maître. Pour conserver une archive, il suffit de conserver le fichier source (celui créé par la fonction HCréeRéplicaTransportable). Réplication et filtre Lors du parcours des données à répliquer, la réplication tient compte des filtres positionnés par la fonction HFiltre. Ainsi, dans le cas d'une réplication universelle programmée sans serveur de réplication, il est possible d'utiliser la fonction HFiltre pour limiter les données à synchroniser. A l'inverse, dans le cas d'une réplication effectuée via un serveur de réplication, il faut veiller à désactiver tous les filtres avant d'effectuer la réplication avec la fonction HSynchroniseRéplica. Remarque : La fonction HFerme permet de supprimer tous les filtres définis par la fonction HFiltre sur un fichier de données. Composante : wd300rpl.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|