Disponible avec une licence Standard ou Advanced.
Lorsqu'un réplica est créé, les données et structures sont copiées depuis la géodatabase parent vers la géodatabase enfant. Les données incluent les lignes à répliquer à partir des jeux de données dans le réplica. La structure se compose des champs, domaines, sous-types et autres propriétés décrivant les données répliquées.
A l'origine, les structures sont identiques sur les deux réplicas, mais au fil du temps, il est possible que la structure de chaque réplica se modifie. Par exemple, un réplica peut nécessiter des champs supplémentaires pour terminer un projet, tandis que le réplica associé peut requérir un nouveau domaine dans un champ existant. Dans ce cas, les structures des réplicas ne sont plus les mêmes.
Voici quelques points à prendre en compte pour gérer les différences de structure dans les réplicas :
Gestion des différences de structure : vous pouvez autoriser les réplicas à apporter des mouvements de structure indépendamment l'un de l'autre. La réplication de géodatabase est conçue pour autoriser la plupart des différences de structure entre les réplicas, ce qui permet à la synchronisation des données de fonctionner dans la plupart des cas.
Lorsque vous appliquez un mouvement de structure à un réplica mais pas à l'autre, vous devez anticiper les problèmes suivants :
- Mises à jour non synchronisées : la synchronisation des données importe uniquement les mouvements des tables et champs qui sont communs aux deux réplicas. Si une mise à jour est apportée à un champ qui ne se trouve pas dans le réplica associé, elle n'est pas appliquée lors de l'importation des mouvements. Autre exemple : lorsqu'un réseau géométrique est supprimé d'un réplica et non de l'autre. Dans ce cas, la classe de jonctions orphelines est supprimée et, par conséquent, les mouvements de la classe de jonctions orphelines associée ne sont pas appliqués.
- Valeurs non valides : des mouvements qui enfreignent les domaines, sous-types, règles de connectivité et règles de relation sont appliqués lors de la synchronisation des mouvements. Les outils de validation de l'éditeur peuvent servir à vérifier les valeurs récemment importées.
- Erreurs de synchronisation des données : elles peuvent survenir lorsque vous appliquez manuellement un mouvement de structure aux deux réplicas. Vous pouvez, par exemple, ajouter un champ dans une table. Pour effectuer cette opération, veillez à apporter exactement le même mouvement de structure dans tous les cas. S'il existe une différence (par exemple, un champ est une chaîne sur un réplica mais un entier dans l'autre), une erreur de synchronisation des données survient.
- Mouvements non pris en charge : certains types de mouvements de structure peuvent entraîner l'échec de la synchronisation, mais aucun avertissement n'apparaît si vous appliquez le mouvement. Ces mouvements ne sont pas détectables par le système de réplication de géodatabase. Ils incluent des opérations au niveau de la base de données, telles que la modification des autorisations dans les tables de la base de données. Si les autorisations sont définies en lecture seule pour les données répliquées, un échec se produit lors de la tentative d'importation des mouvements à partir du réplica associé.
Application de mouvements de structure dans les réplicas : la modification de la structure d'un réplica pour qu'elle corresponde à celle d'un réplica associé est un processus entièrement distinct de la synchronisation des données. Pour ce faire, vous disposez de trois outils différents : Comparer une structure de réplica, Importer une structure de réplica et Exporter une structure de réplica. Les outils sont disponibles dans la barre d'outils Géodatabase distribuée d'ArcMap, sur le menu contextuel de droite Géodatabase distribuée dans l'arborescence du Catalogue et en tant qu'outils de géotraitement.
Les outils sont utilisés dans un processus à deux étapes qui implique d'abord l'exécution de l'outil Comparer une structure de réplica pour générer un fichier XML contenant les mouvements de structure, puis l'importation de ces mouvements avec l'outil Importer une structure de réplica. Si vous travaillez dans un environnement déconnecté, vous devez au préalable exécuter l'outil Exporter une structure de réplica afin d'exporter la structure avec les mouvements vers un fichier XML. Ce fichier peut être ensuite être transféré sur un support de type CD ou DVD pour être utilisé en entrée dans l'outil Comparer une structure de réplica.
Voici une liste des mouvements de structure. La possibilité de les appliquer ou non est indiquée :
Ajouter | Modifier | Annuler | |
Champ | Y | Y (domaines) | Y |
Domaine | Y | Y | Y |
Table/Classe d'entités | Y | Y (domaines, ajouter/supprimer des champs) | Y |
Réseau géométrique | N | N | Y |
Topologie | N | N | Y |
Jeu de données d'entités | N | N | Y |
Classe de relations | N | Y (ajouter/supprimer des champs, domaines) | Y |
L'ajout d'une table ou classe d'entités dans un réplica ne peut pas s'effectuer avec les outils mentionnés ci-dessus. Vous devez plutôt exécuter le code ArcObjects. Consulter un exemple de ce code
Suppression des données d'un réplica : une liste des jeux de données impliqués dans chaque réplica est stockée dans une géodatabase de réplica. Si vous supprimez un de ces jeux de données, un avertissement s'affiche. Si vous choisissez de poursuivre la suppression, le jeu de données est supprimé de la liste des jeux de données de réplica. Vous pouvez rajouter des données dans un réplica à l'aide de l'API ArcObjects. Notez également les points suivants :
- Si vous supprimez une table ou classe d'entités et souhaitez la rajouter dans le réplica, vous devez exécuter un code. Le simple fait de la recréer ne convient pas.
- Si vous supprimez un réseau géométrique ou une topologie, vous ne pouvez pas les rajouter dans le réplica. Les réplicas seront toujours synchronisés. Toutefois, la synchronisation des exceptions topologiques n'est pas prise en charge et vous ne pouvez pas en outre synchroniser les mouvements apportés à la classe de jonctions orphelines.
- La suppression d'un jeu de données d'entité et le rajout des classes dans le réplica n'a aucun effet.
- Vous ne pouvez pas supprimer des classes de relations et les rajouter dans le réplica.
Identification des différences de structure : si vous souhaitez surveiller étroitement les mouvements de structure, vous pouvez utiliser les outils de comparaison des structures de réplicas pour identifier les différences. L'assistant Importer une structure de réplica répertorie les différences de structure.
Meilleures pratiques
En règle générale, il est préférable d'éviter les mouvements de structure. Les mouvements de structure peuvent entraîner des incohérences parmi les réplicas et le travail supplémentaire que demande l'application de mouvements de structure peut augmenter les coûts de performance. Toutefois, des mouvements de structure doivent être appliqués dans certains cas.
Voici les meilleures pratiques permettant d'utiliser les mouvements de structure :
- Verrouiller le système : assurez-vous que les personnes qui utilisent le système disposent des autorisations appropriées. Il peut être nécessaire d'écrire des applications qui empêchent certains types de mouvements de structure non prévus, tels que l'ajout ou la suppression d'une colonne.
- Appliquer des comparaisons de structure régulières : comme la réplication tolère les pannes, il est probable que les systèmes qui effectuent des synchronisations ne soient pas interrompus par les mouvements de structure. Il est toutefois conseillé d'exécuter régulièrement une comparaison des structures afin de s'assurer qu'aucun mouvement de structure non prévu n'a été appliqué.
- Ne synchronisez pas tant qu'une tâche de maintenance n'est pas terminée : il est parfois nécessaire d'appliquer des mouvements de structure temporaires pour terminer une tâche de maintenance. Par exemple, certaines organisations requièrent la suppression et le non versionnement d'un réseau géométrique, puis exigent qu'il soit recréé et reversionné. Tant que le réseau n'est pas reversionné, la synchronisation des données échouera.
- Appliquer les mouvements de structure au niveau du système : si des mouvements de structure doivent être appliqués, appliquez-les au niveau du système et de façon organisée. Par exemple, vous pouvez utiliser une approche du haut vers le bas, dans laquelle les mouvements sont appliqués dans le réplica racine et propagés vers le bas.