Arbeiten mit Schemaänderungen

Dieses Thema gilt nur für ArcEditor und ArcInfo.

Beim Erstellen eines Replikats werden Daten und Schemas aus der Parent-Geodatabase in die Child-Geodatabase kopiert. Die Daten bestehen aus den zu replizierenden Zeilen aus den Datasets im Replikat. Das Schema besteht aus den Feldern, Domänen, Subtypes und weiteren Eigenschaften zur Beschreibung der replizierten Daten.

Anfänglich sind die Schemas in beiden Replikaten identisch, doch mit der Zeit werden an den einzelnen Replikatschemas möglicherweise Änderungen vorgenommen. Zum Beispiel können in einem Replikat zusätzliche Felder zum Abschließen eines Projekts erforderlich sein, während im relativen Replikat möglicherweise eine neue Domäne auf ein vorhandenes Feld angewendet werden muss. In diesem Fall sind die Schemas der Replikate nicht mehr gleich.

Folgende Funktionen wurden für die Arbeit mit Schemadifferenzen in Replikaten bereitgestellt:

Beibehalten von Schemaunterschieden – Sie können festlegen, dass Replikate Schemaänderungen unabhängig voneinander vornehmen können. Die Geodatabase-Replikation ist so konzipiert, dass die meisten Schemaunterschiede zwischen Replikaten zulässig sind. Auf diese Weise kann die Datensynchronisierung in den meisten Fällen weiterhin problemlos durchgeführt werden.

Wenn Sie eine Schemaänderung auf ein Replikat anwenden, jedoch nicht auf das andere, müssen Sie mit den folgenden Problemen rechnen:

Anwenden von Schemaänderungen über Replikate hinweg – Das Ändern des Schemas eines Replikats, um es an das Schema eines relativen Replikats anzupassen, erfolgt vollkommen separat von der Datensynchronisierung. Zu diesem Zweck werden drei Werkzeuge bereitgestellt: "Replikatschema vergleichen", "Replikatschema importieren" und "Replikatschema exportieren". Die Werkzeuge sind in ArcMap in der Werkzeugleiste "Verteilte Geodatabase", im Kataloginhaltsverzeichnis im Untermenü "Verteilte Geodatabase" und als Geoverarbeitungswerkzeuge verfügbar.

Die Werkzeuge werden im Rahmen eines zwei Schritte umfassenden Vorgangs verwendet. Zuerst wird das Werkzeug "Replikatschema vergleichen" ausgeführt, um eine XML-Datei mit den Schemaänderungen zu erstellen, und anschließend werden diese Änderungen mit dem Werkzeug "Replikatschema importieren" importiert. Wenn Sie in einer nicht verbundenen Umgebung arbeiten, müssen Sie zuerst das Werkzeug "Replikatschema exportieren" ausführen, um das Schema mit den Änderungen in eine XML-Datei zu exportieren. Diese Datei kann dann auf Medien wie CDs oder DVDs übertragen werden, um die Eingabe in das Werkzeug "Replikatschema vergleichen" zu ermöglichen.

Im Folgenden finden Sie eine Liste mit Schemaänderungen und Hinweisen, ob sie übernommen werden können oder nicht:

Hinzufügen

Ändern

Entfernen

Feld

J

J (Domänen)

J

Domäne

J

J

J

Tabelle/Feature-Class

J

J (Domänen, Felder hinzufügen/entfernen)

J

Geometrisches Netzwerk

N

N

J

Topologie

N

N

J

Feature-Dataset

N

N

J

Beziehungsklasse

N

J (Felder hinzufügen/entfernen, Domänen)

J

In dieser Tabelle werden die Schemaänderungen beschrieben, die für replizierte Datasets ausgeführt werden können.

Das Hinzufügen einer Feature-Class oder einer Tabelle zu einem Replikat ist mit den oben beschriebenen Werkzeugen nicht möglich. Stattdessen müssen Sie ArcObjects-Code ausführen. Anzeigen eines Beispiels für diesen Code

Entfernen von Daten aus einem Replikat – In Replikat-Geodatabases wird jeweils eine Liste der Datasets gespeichert, die an den einzelnen Replikaten beteiligt sind. Wenn Sie eines dieser Datasets löschen, wird eine Warnung angezeigt. Wenn Sie den Löschvorgang fortsetzen, wird das Dataset aus der Liste der Replikat-Datasets entfernt. Mit der ArcObjects-API können Sie Daten wieder einem Replikat hinzufügen. Beachten Sie außerdem Folgendes:

Identifizieren von SchemaunterschiedenWenn Sie die Schemaänderungen genau überwachen möchten, können Sie mit den Werkzeugen die Replikatschemas vergleichen und Datenänderungen identifizieren. Der Assistent "Replikatschema importieren" listet die Schemaunterschiede auf.

Empfehlungen

Im Allgemeinen sollten Schemaänderungen möglichst vermieden werden. Schemaänderungen können zu Inkonsistenzen zwischen Replikaten führen, zudem kann durch den zusätzlichen Aufwand die Performance beeinträchtigt werden. In manchen Fällen müssen Schemaänderungen jedoch übernommen werden.

Im Folgenden finden Sie einige Empfehlungen für die Arbeit mit Schemaänderungen:

  1. Sperren Sie das System – Stellen Sie sicher, dass die Personen, die das System verwenden, mit den entsprechenden Berechtigungen arbeiten. Möglicherweise müssen Sie Anwendungen schreiben, mit denen bestimmte Typen ungeplanter Schemaänderungen verhindert werden, z. B. das Hinzufügen oder Entfernen einer Spalte.
  2. Führen Sie regelmäßig Schemavergleiche durch – Da die Replikation fehlertolerant ist, werden Systeme, in denen Synchronisierungen ausgeführt werden, durch die Schemaänderungen mit hoher Wahrscheinlichkeit nicht unterbrochen. Es ist jedoch empfehlenswert, in regelmäßigen Abständen einen Schemavergleich auszuführen, um sicherzustellen, dass ungeplante Schemaänderungen nicht übernommen wurden.
  3. Führen Sie die Synchronisierung erst aus, nachdem ein Verwaltungs-Task abgeschlossen wurde – In einigen Fällen ist es erforderlich, temporäre Schemaänderungen anzuwenden, um einen Verwaltungs-Task abschließen zu können. In manchen Organisationen muss z. B. ein geometrisches Netzwerk entfernt, dessen Registrierung als versioniert aufgehoben, dann neu erstellt und letztlich erneut als versioniert registriert werden. Solange das Netzwerk nicht erneut als versioniert registriert ist, tritt bei der Datensynchronisierung ein Fehler auf.
  4. Wenden Sie Schemaänderungen auf das gesamte System an – Wenn Schemaänderungen angewendet werden müssen, wenden Sie diese immer in strukturierter Weise auf das gesamte System an. Sie können diesen Vorgang von oben nach unten ausführen, wobei die Änderungen zuerst auf das Stammreplikat angewendet und dann nach unten weitergegeben werden.
Schemaänderungen

3/6/2012