Frage
Es kann vorkommen, dass ganze File Geodatabases (FGDB) oder Teile davon (Feature Classes) korrupt werden. Wie können die betroffenen Teile repariert werden?
Ursache
Mögliche Gründe für korrupte FGDB sind:
- Wenn die Bearbeitungen einer Feature-Klasse während einer Editiersitzung nicht gespeichert werden
- Wenn die Editier-Sitzung durch den Absturz der Anwendung unterbrochen wird
- Wenn eine Feature-Klasse auf einem Netzlaufwerk gespeichert ist und es eine Verbindungsschwankung zum Laufwerk gibt
- ...
Problem
Die folgenden Symptome können auftreten:
- Fehler beim Öffnen der FGDB
- Fehler beim Öffnen der Feature Class (FC)
- Fehler bei der Bearbeitung (z.B. Verschwinden von Einträgen in Attribut Tabelle beim Sortieren)
- Fehler bei der Voransicht in ArcCatalog
- ...
Lösung
Folgende Möglichkeiten bestehen um solche Probleme zu lösen:
- Reparieren: https://desktop.arcgis.com/de/arcmap/10.3/manage-data/administer-file-gdbs/compact-file-and-personal-geodatabases.htm
- Komprimieren / Dekomprimieren: https://desktop.arcgis.com/de/arcmap/10.3/manage-data/administer-file-gdbs/compress-file-geodatabase-data.htm
- Wiederherstellen: https://desktop.arcgis.com/de/arcmap/10.3/tools/data-management-toolbox/how-recover-file-geodatabase-works.htm
- Kopieren der DB in einen anderen Datentyp (Personal Geodatabase, SQL Server, Oracle
Falls die oben stehenden Möglichkeiten keine Verbesserung bringen, besteht folgende Möglichkeit:
Option 1: FME
- Mittels FME die betroffene Feature Class laden und in neue FGDB schreiben.
- Anders als ArcCatalog bricht FME nicht ab bei korrupten Features, sondern ignoriert diese und fährt weiter mit den anderen Features.
- Die Objectid und Globalid kann bei diesem Export allerdings nicht beibehalten werden und wird dadurch verändert. Daher sicherstellen, dass die originale Objectid und Globalid in ein neues separates Feld OID_TEMP resp. GLOBALID_TEMP geschrieben wird.
Model: geodatabase_file2filegdb_Copy_ORI_ID.fmw
- Kopieren der Feature Class in eine SQL Server DB
- Direkt in SQL Server Management Studio die OBJECTID und GLOBALID überschreiben mit den Werten aus OID_TEMP bzw. GLOBALID_TEMP, z.B.:
USE LEER ;
GO
UPDATE LEER_OWNER.AWK_ABWASSERKNOTEN
SET OBJECTID = OID_TEMP
WHERE 1=1
GO
- Zurückkopieren der Feature Class aus der SQL Server DB in die originale FGDB.
Option 2: Model in ArcCatalog
siehe https://support.esri.com/en/Technical-Article/000021330
Model: Toolbox.tbx
Wie beim Weg via FME beschrieben, werden auch dabei die Objectid und Globalid verändert. Diese müssen daher nachher ebenso direkt in SQL Server Management Studio bearbeitet werden.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.