Ich habe Probleme, meine GDB in ArcGIS10 freizugeben. Mein Tool funktioniert mit einer lokalen GDB, aber ich konnte es nach dem Vorgang nicht freigeben. In Ag9.3 kann ich es einfach von Marshal.ReleaseComObject (Arbeitsbereich) veröffentlichen, aber dies funktioniert nicht in AG10. Auch das Freigeben aller FeatureCursors hilft nicht. Nur das Schließen der gesamten Anwendung "löscht" die Sperre. Weiß jemand, wie man meine GDB freigibt und die Sperre "löscht", ohne die Anwendung zu schließen?
arcgis-10.0
arcobjects
AnnemieK
quelle
quelle
Antworten:
Ich habe einen kurzen Blick darauf geworfen und Informationen zu dem Sperrszenario gefunden, das Sie anscheinend haben. In ArcObjects 10 gibt es die Optionen SetWriteLock und FreeWriteLock.
Schauen Sie sich den Forum-Link an, insbesondere das Beispiel von Lance Shipman von Esri http://forums.arcgis.com/threads/36881-the-performance-fgdb-api-amp-arcobjects
Viel Spaß, CDB
quelle
Es ist einfach, zu diesem Zustand zu gelangen. Sie benötigen lediglich ein Objekt, das einen Verweis auf etwas enthält, das den Arbeitsbereich benötigt, um am Leben zu bleiben. Wie ein benutzerdefiniertes Objekt, das beispielsweise ein Feature enthält.
Wenn Sie sicher sind, dass Sie keine solchen Referenzen haben, rufen Sie GC.collect () auf, um den Garbage Collector in einen quasi-deterministischen Bereinigungsmodus zu zwingen
quelle
Wenn Sie in Ihrer Anwendung Cursor verwenden, stellen Sie sicher, dass Sie den ComReleaser verwenden, um die Lebensdauer der Cursor zu verwalten und sie zu zerstören, wenn Sie damit fertig sind. Andernfalls können sie Ihr DBMS sperren. Ich könnte mich irren, aber wenn ich ReleaseComObject nicht allein im Arbeitsbereich aufrufe, wird der Verweis auf die Cursor entfernt. Schauen Sie sich diesen ESRI-Blogbeitrag an ...
http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/12/18/Verwenden-der-ComReleaser-to-manage-the-lifetime-of-cursors-in-.NET.aspx
quelle
Gefundene Idee von http://help.arcgis.com/de/arcgisdesktop/10.0/help/index.html#//003n0000007w000000
"Diese .lock-Dateien werden entfernt, wenn Sie das Geoprocessing Compact-Tool ausführen."
quelle