Utilisation des mouvements de structure
Cette rubrique concerne exclusivement ArcEditor et ArcInfo.
Lorsqu'un réplica est créé, les données et structures sont copiées de la géodatabase parent vers la géodatabase enfant. Les données incluent les lignes à répliquer des jeux de données vers le réplica. La structure se compose des champs, domaines, sous-type et autres propriétés décrivant les données répliquées.
Initialement, les structures sont identiques dans les deux réplicas, mais avec le temps, des mouvements peuvent être appliqués à chaque structure de réplica. Par exemple, un réplica peut nécessiter des champs supplémentaires pour réaliser un projet, et le réplica associé l'application d'un nouveau domaine à un champ existant. Dans ce cas, les structures des réplicas ne sont plus les mêmes.
Les options suivantes s'adaptent aux différentes structures des réplicas :
Conservation des différences de structure : vous pouvez choisir de permettre aux réplicas d'effectuer des mouvements de structure indépendamment les uns des autres. La réplication de géodatabase est conçue pour autoriser la plupart des différences de structure entre réplicas, en permettant à la synchronisation des données de continuer à fonctionner dans la plupart des cas.
A chaque application d'un mouvement de structure à un réplica et pas à l'autre, vous devez anticiper les problèmes suivants :
- Mouvements sans synchronisation : la synchronisation des données importe uniquement les modifications pour les tables et les champs communs aux deux réplicas. Si une modification est effectuée dans un champ qui ne figure pas dans le réplica associé, elle ne sera pas appliquée lors de l'importation des mouvements. Dans un autre exemple, un réseau géométrique est supprimé dans un réplica mais pas dans 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 incorrectes : des mouvements violant des domaines, des sous-types, des règles de connectivité et des règles de relations sont appliqués lors de la synchronisation des modifications. Les outils de validation de l'éditeur peuvent être utilisés pour vérifier les nouvelles valeurs importées.
- Erreurs de synchronisation des données : ces erreurs peuvent survenir en cas d'application manuelle d'un mouvement de structure aux deux réplicas. Par exemple, vous pouvez ajouter un champ à une table. Dans ce cas, assurez-vous d'appliquer exactement le même mouvement de structure dans toutes les situations. Des mouvements différents (par exemple, un champ correspond à une chaîne dans un réplica mais à un nombre entier dans l'autre) provoquent une erreur de synchronisation des données.
- Mouvements non pris en charge : certains types de mouvements de structure peuvent entraîner l'échec de la synchronisation, mais aucun message d'avertissement ne s'affiche lorsque vous appliquez le mouvement. Ces mouvements ne sont pas détectables par le système de réplication de géodatabase. Ils incluent les opérations effectuées au niveau de la base de données telles que la modification des autorisations de tables dans la base de données. Si les autorisations sont définies en lecture seule pour les données répliquées, une erreur se produit lorsque vous tentez d'importer des mouvements à partir du réplica associé.
Application de mouvements de structure à plusieurs réplicas : la modification de la structure d'un réplica pour correspondre à la structure d'un réplica associé est un processus entièrement séparé 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. Ces outils sont disponibles sur la barre d'outils Géodatabase répartie d'ArcMap, dans le menu de droite Géodatabase répartie dans l'arborescence du catalogue et en tant qu'outils de géotraitement.
Les outils sont utilisés dans un processus en deux étapes impliquant 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 à l'aide de 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 servir en entrée de l'outil Comparer une structure de réplica.
La liste suivante répertorie les mouvements de structure qui peuvent être appliqués ou non :
Ajouter |
Changer |
Supprimer |
|
Champ |
O |
O (domaines) |
O |
Domaine |
O |
O |
O |
Table/Classe d'entités |
O |
O (domaines, champ Ajouter/Supprimer) |
O |
Réseau géométrique |
N |
N |
O |
Topologie |
N |
N |
O |
jeu de données d'entité |
N |
N |
O |
Classe de relations |
N |
O (champs Ajouter/Supprimer, domaines) |
O |
L'ajout d'une classe d'entités ou d'une table à un réplica ne peut pas être réalisé avec les outils discutés précédemment. Pour ce faire, vous devez exécuter le code ArcObjects. Afficher un échantillon de ce code
Suppression de 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 l'un de ces jeux de données, un message d'avertissement s'affiche. Si vous confirmez la suppression, le jeu de données est supprimé de la liste des jeux de données du réplica. Vous pouvez réintégrer des données à un réplica à l'aide de l'API ArcObjects. Notez également les éléments suivants :
- Si vous supprimez une table ou une classe d'entités et que vous souhaitez la réintégrer au réplica, vous devez exécuter le code correspondant à cette opération. Recréer l'objet ne suffit pas.
- Si vous supprimez un réseau géométrique ou une topologie, vous ne pouvez pas réintégrer cet objet au réplica. Les réplications se synchronisent, mais les exceptions de synchronisation ne sont pas prises en charge et vous ne pouvez pas synchroniser les modifications apportées à la classe de jonctions orphelines.
- La suppression d'un jeu de donées d'entité et la réintégration des classes au réplica n'ont aucun effet.
- Vous ne pouvez pas supprimer des classes de relations et les réintégrer au réplica.
Identification des différences de structure : si vous souhaitez surveiller de près les mouvements de structure, vous pouvez utiliser les outils permettant de comparer les structures de réplica pour identifier les différences. L'assistant d'importation d'une structure de réplica liste les différences de structure.
Meilleures pratiques
En général, les mouvements de structure ne sont pas recommandés. Ils peuvent provoquer des incohérences entre les réplicas et le travail supplémentaire d'application des mouvements de structure peut entraîner des coûts supplémentaires en termes de performances. Cependant, certaines situations nécessitent l'application de mouvements de structure.
Les sections suivantes présentent les pratiques conseillées pour utiliser des mouvements de structure :
- Verrouillage du système : assurez-vous que les personnes qui utilisent le système disposent des autorisations appropriées. Il peut s'avérer nécessaire de créer des applications empêchant certains types de mouvements de structure imprévus, tels que l'ajout ou la suppression d'une colonne.
- Comparaisons régulières des structures : la réplication disposant d'une fonction de tolérance aux pannes, les mouvements de structure ne perturbent pas les systèmes qui effectuent des synchronisations. Cependant, il est recommandé de comparer régulièrement les structures pour s'assurer que des mouvements de structure imprévus n'ont pas été appliqués.
- N'effectuez aucune synchronisation 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 exigent qu'un réseau géométrique soit supprimé, non versionné, recréé, puis de nouveau versionné. La synchronisation des données échoue tant que le réseau n'est pas reversionné.
- Application de mouvements de structure dans l'ensemble du système : si des mouvements de structure doivent être appliqués, appliquez-les dans tout le système et de façon organisée. Par exemple, vous pouvez utiliser une approche de haut en bas dans laquelle les mouvements sont appliqués au niveau du réplica de racine, puis propagés vers le bas.