Tenho problemas para liberar meu gdb no ArcGIS10. Minha ferramenta funciona com um gdb local, mas não consegui liberá-lo após o processo. No Ag9.3, posso liberá-lo simplesmente por Marshal.ReleaseComObject (espaço de trabalho), mas isso não funciona no AG10. Também liberar todos os FeatureCursors não ajuda. Somente o fechamento de todo o aplicativo "exclui" o bloqueio. Alguém sabe como liberar meu gdb e "excluir" o bloqueio sem fechar o aplicativo?
arcgis-10.0
arcobjects
AnnemieK
fonte
fonte
Respostas:
Eu dei uma olhada rápida e encontrei informações sobre o cenário de bloqueio que você parece estar tendo. No ArcObjects 10, há as opções SetWriteLock e FreeWriteLock.
dê uma olhada no link do fórum especificamente na amostra de Lance Shipman da Esri http://forums.arcgis.com/threads/36881-the-performance-fgdb-api-amp-arcobjects
Divirta-se, CDB
fonte
É fácil chegar a essa condição - tudo o que você precisa é de um objeto que esteja mantendo uma referência a algo que precisa da área de trabalho para permanecer vivo. Como um objeto personalizado que contém um Recurso, por exemplo.
Depois de ter certeza de que não possui essas referências, tente chamar GC.collect () para forçar o coletor de lixo para um modo de limpeza quase determinístico
fonte
Se você estiver usando cursores em seu aplicativo, certifique-se de usar o ComReleaser para gerenciar a vida útil dos cursores e destruí-los quando terminar com eles. Caso contrário, eles podem bloquear seu DBMS. Posso estar errado, mas não chamo ReleaseComObject apenas na área de trabalho remove a referência aos cursores. Dê uma olhada nesta postagem no blog da ESRI ...
http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/12/18/Using-the-ComReleaser-to-manage-the-lifetime-of-cursors-in-.NET.aspx
fonte
Idéia encontrada em http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003n0000007w000000
“Esses arquivos .lock são removidos sempre que você executa a ferramenta Compact de geoprocessamento”
fonte