HOW TO

Gleichzeitiges Abgleichen mehrerer Versionen mit IVersionEdit2

Last Published: January 8, 2021

Zusammenfassung

Für den Workflow einer Organisation kann es erforderlich sein, mehrere Versionen gleichzeitig mit einer gemeinsamen Vorgängerversion abzugleichen. Mit ArcMap und Geodatabase-Werkzeugen sind nur Abgleiche von jeweils einer Version mit einer gemeinsamen Primärversion möglich. Dies wird durch die Erzwingung von Sperren für Geodatabase-Objekte erreicht.

Hinweis: Dieser Artikel gilt nur für die ArcGIS-Versionen 8.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.

Beim Starten des Abgleichvorgangs wird eine exklusive Geodatabase-Objektsperre für die Quell- und die Zielversion abgerufen. Dadurch wird verhindert, dass andere Benutzer die Quellversion bearbeiten und mit der Zielversion abgleichen.

Beispielsweise können nicht zwei Benutzer gleichzeitig ihre jeweilige Version mit der Standardversion abgleichen. Dieses Verhalten wurde entwurfsbedingt in ArcGIS implementiert. Die Absicht besteht darin, keine gleichzeitige Ausführung mehrerer Abgleichvorgänge zuzulassen, um Systemressourcen (auf Server und Client) zu sparen.

Die Geodatabase erzwingt dieses Verhalten ebenfalls, da aus Gründen der Datenkonsistenz nur eine Version in eine Zielversion zurückgeschrieben werden kann. Wenn die Software das gleichzeitige Abgleichen und Zurückschreiben mehrerer Versionen zulassen würde, würde die zweite Version einfach die von der vorherigen Version, die den Zurückschreibvorgang ausgeführt hatte, angewendeten Änderungen überschreiben.

Dieses Konzept soll zwar Systemressourcen sparen und die Datenintegrität gewährleisten, aber manche Organisationen möchten vielleicht dennoch mehrere Abgleichvorgänge gleichzeitig ausführen. Dies ist mithilfe von "IVersionEdit2:Reconcile2" bei gleichzeitiger Wahrung der Datenintegrität möglich.

Vorgehensweise

Möglicherweise möchte Ihre Organisation zum Beispiel mehrere Versionen gleichzeitig abgleichen, wobei die Benutzer nicht die Absicht haben, nach dem Abgleichvorgang einen Zurückschreibvorgang auszuführen. Die Benutzer möchten lediglich die aktuelle Version mit der Zielversion zusammenführen.

Dies können Sie mit der Methode "IVersionEdit2:Reconcile2" erreichen, die Ähnlichkeit mit der Methode "IVersionEdit:Reconcile" hat. Sie verfügt jedoch über ein zusätzliches boolesches Argument, das angibt, ob beim Abgleich die Geodatabase-Objektsperre abgerufen werden soll oder nicht. Wenn die Sperre nicht abgerufen wird, kann die Version dennoch zurückgeschrieben werden. Dabei ist jedoch nicht garantiert, dass die Zielversion seit dem Abschluss des Abgleichs nicht geändert und gespeichert wurde. In diesem Fall wird eine Fehlermeldung zurückgegeben, in der Sie informiert werden, dass die Version neu definiert wurde. Dieser Fehler bedeutet, dass Sie den Abgleich erneut ausführen müssen.

In diesem kurzen Beispiel wird die Verwendung von "IVersionEdit2:Reconcile2" veranschaulicht:

Code: Dim pNewVersion As IVersionEdit2 Set pNewVersion = pWS Dim Success As Boolean Success = pNewVersion.Reconcile2("SDE.DEFAULT", false)

Mit dem oben gezeigten Code wird die aktuelle Workspace-Version mit der Standardversion abgeglichen. Das boolesche Argument "acquireLock" ist auf "false" festgelegt, das heißt, es wird keine Geodatabase-Objektsperre für die Zielversion angefordert, bzw. der Vorgang schlägt nicht fehl, wenn die Standardversion zurzeit durch einen zweiten Vorgang abgeglichen wird. Der zurückgegebene boolesche Wert "Success" gibt an, ob Konflikte erkannt wurden oder nicht.

Artikel-ID:000004449

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden