PROBLEM
Der Primärschlüssel für eine Beziehung kann auf einer von einer Geodatabase verwalteten GlobalID, auf einem von einer Anwendung oder einem Kunden verwalteten Primärschlüssel oder auf einer von einer Geodatabase verwalteten ObjectID basieren. In bestimmten Anwendungsfällen werden Änderungen, an denen Beziehungen beteiligt sind, möglicherweise nicht korrekt synchronisiert, wenn der Primärschlüssel für die Beziehung auf einer ObjectID-Spalte (OID) basiert.
Hinweis: Dieser Artikel gilt nur für die ArcGIS-Versionen 9.x. Höhere Versionen von ArcGIS enthalten möglicherweise andere Funktionalität sowie andere Namen für Menüs, Befehle und Geoverarbeitungswerkzeuge, die sich auch an anderen Orten befinden können.
Das folgende Beispiel zeigt einen Anwendungsfall, bei dem Änderungen nicht korrekt synchronisiert werden.
Betrachten Sie ein Beispiel mit einer Feature-Class für Masten (Poles) und einer Tabelle der Transformatoren (Transformers) in einem bidirektionalen Replikat. In diesem Beispiel besteht eine einfache Beziehung zwischen den Masten und Transformatoren. "Poles" ist die Quellklasse, und der Primärschlüssel ist die zugehörige ObjectID-Spalte. "Transformers" ist die Zielklasse, und der Fremdschlüssel ist die Spalte "poleid" des Datentyps Long Integer.
Das folgende Beispiel beschreibt einen Anwendungsfall, bei dem Beziehungen nicht korrekt synchronisiert werden.
Das oben beschriebene Beispiel würde korrekt funktionieren, wenn die Änderung zum Erstellen der Beziehung zwischen dem Mast und dem Transformator in derselben Generation der Änderungen erfolgt, in der der Mast und der Transformator ursprünglich erstellt wurden. Zum Beispiel, wenn die Beziehung vor der Synchronisierung in Schritt 3 erstellt wurde. Der Synchronisierungsalgorithmus erfasst die Änderung an der ObjectID des Mastes bei der Erstellung und verwendet sie, um den Fremdschlüssel im Transformator korrekt zu aktualisieren.
Hinweise zu Anwendungsfällen, bei denen Änderungen korrekt synchronisiert werden:
Die Anwendungsfälle, bei denen Änderungen korrekt synchronisiert werden, entsprechen allgemeinen Workflows mit Feature-bezogenen Annotationen, die auf der ObjectID als Primärschlüssel basieren. Im am häufigsten verwendeten Workflow erfolgt das Erstellen eines Features zusammen mit der auf dieses Feature bezogenen Annotation im Rahmen derselben Editiersitzung. Nachdem eine Annotation für ein Feature erstellt wurde, wird ihre Beziehung mit diesem Feature bei nachfolgenden Änderungen nicht geändert. Allerdings werden nicht alle Workflows mit Feature-bezogenen Annotationen unterstützt. Zum Beispiel wird das Erstellen eines neuen Teils einer zugehörigen Annotation für ein Feature in einer Generation ohne Erstellung des Features nicht unterstützt. Die Workflows, die unterstützt werden, basieren auf ArcGIS 9.2 Service Pack 5.
In bestimmten Anwendungsfällen (siehe oben im Abschnitt mit der Beschreibung) werden Änderungen, an denen Beziehungen beteiligt sind, mit der bidirektionalen und der unidirektionalen Replikation möglicherweise nicht korrekt synchronisiert, wenn der Primärschlüssel für die Beziehung auf einer ObjectID-Spalte (OID) basiert.
Dieses Problem wurde in ArcGIS 9.2 Service Pack 6 und ArcGIS 9.3 behoben. Ein weiterer Fall wurde auch im folgenden Patch für ArcGIS 9.2 Service Pack 6 sowie in ArcGIS 9.3 Service Pack 1 behoben.
Nicht aufgetreten ist dieses Problem beim Bearbeiten und Synchronisieren der Beziehungen mit bidirektionalen und unidirektionalen Replikaten, die GlobalID-Spalten oder vom Kunden definierte Primärschlüssel, wie zum Beispiel EquipmentID, die über alle Datenbanken eindeutig sind, als Primärschlüssel in der Beziehung verwenden.
Im obigen Beispiel, bei dem Änderungen nicht korrekt synchronisiert werden, könnte die Beziehungsklasse mit der GlobalID-Spalte aus "Poles" als Primärschlüssel und einer GUID-Spalte aus "Transformers" als Fremdschlüssel definiert worden sein. Beziehungsklassen, die eine GlobalID als Primärschlüssel verwenden, erfordern eine GUID-Spalte als Fremdschlüssel. In diesem Anwendungsfall wäre die Beziehung korrekt synchronisiert worden, da die Werte der GlobalID und der GUID in allen Replikaten identisch sind.
Hilfe von ArcGIS-Expert*innen erhalten
Die Esri Support-App herunterladen