Ketika saya mencoba untuk menghapus kelas fitur, setelah atau selama penggunaan aplikasi mesin Arcgis yang menggunakan kelas fitur yang sama, saya mendapat kesalahan terkait kunci, jadi saya tidak bisa mendapatkan kunci ini sampai saya me-restart komputer.
saya ingin tahu cara untuk menghapus kunci menggunakan arcpy atau arcobjects 10.1, itu akan menjadi sempurna jika saya bisa mendapatkan kunci di dalam aplikasi arcengine yang juga mengunci geodatabase, saya telah melihat posting berbeda di SE tentang kunci tetapi tidak ada dari mereka memberikan solusi untuk membebaskan kunci menggunakan ArcObjects.
arcobjects
arcpy
arcgis-10.1
arcgis-engine
.net
geogeek
sumber
sumber
Jawaban:
Jika Anda menggunakan skrip Arcpy, masalah kunci data menjadi semakin bermasalah dengan 10.1.
Ya, memang seharusnya begitu, tetapi jarang. Biasanya kode akan bekerja sesekali, tetapi sering kali crash secara tidak dapat dijelaskan di tempat yang berbeda.
Masalahnya tampaknya kunci hanya dibiarkan duduk di sana `untuk sementara waktu ', tetapi kode berjalan jauh lebih cepat daripada kecepatan di mana kunci dihapus. Namun, beberapa alat Arc inbuilt tampaknya memaksa kunci untuk dibersihkan sesuai permintaan (karena kunci berlaku untuk seluruh GDB sekaligus, kunci akan mencegah Anda bekerja dengan salah satu Kelas Fitur yang terkandung). Alat-alat ini adalah arcpy.Compact_management () dan arcpy.Exists ().
Berikut adalah sedikit fungsi yang saya gunakan dalam kode saya yang telah meningkatkan keandalan secara dramatis (untuk skrip yang membuat dan mengedit beberapa GDB dan Kelas Fitur di dalamnya):
Ini digunakan dengan hanya meneruskan jalur workspace (GDB) ke fungsi, dan harus dilakukan setelah setiap operasi pada workspace (mis. Penciptaan GDB) atau Kelas Fitur di dalam ruang kerja (yaitu Cursors, menambahkan bidang, perhitungan, dll.) . Misalnya (ditampilkan di sini sebagai skrip mandiri, dengan fungsi di atas; untuk menggunakan fungsi, salin dan tempel di antara impor dan program yang sebenarnya, seperti yang ditunjukkan di sini):
sumber
File geodatabase memiliki 3 jenis kunci.
The solusi yang diusulkan oleh @StacyR akan bekerja di semua situasi kecuali untuk eksklusif kunci mengedit (ED) menurut arcgis bantuan dokumentasi.
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003n0000007t000000
sumber
Jika kunci dibuat oleh kode Anda, maka Anda tidak membersihkan diri sendiri. Lepaskan semua referensi ke kelas fitur, ruang kerja, kursor, dll. Kunci dihapus ketika Anda tidak lagi memiliki referensi ke objek yang dikunci.
sumber