Cuando intento eliminar una clase de entidad, después o durante el uso de una aplicación de motor Arcgis que usa la misma clase de entidad, recibo un error relacionado con el bloqueo, por lo que no puedo evitarlo hasta que reinicie la computadora.
Me gustaría saber una forma de eliminar los bloqueos usando arcpy o arcobjects 10.1, sería perfecto si puedo obtener el bloqueo dentro de la aplicación arcengine que también bloquea la geodatabase, he visto diferentes publicaciones en SE sobre bloqueos pero nadie de ellos da la solución a los bloqueos libres usando ArcObjects.
arcobjects
arcpy
arcgis-10.1
arcgis-engine
.net
geogeek
fuente
fuente
Respuestas:
Si usa scripts de Arcpy, los problemas de bloqueo de datos se han vuelto aún más problemáticos con 10.1.
Bueno, esa es la forma en que debería funcionar, pero rara vez lo hace. Por lo general, un código funcionará ocasionalmente, pero a menudo se bloquea inexplicablemente en diferentes lugares.
El problema parece ser que las cerraduras se quedan allí 'por un tiempo', pero el código se ejecuta mucho más rápido que la velocidad a la que se eliminan las cerraduras. Sin embargo, algunas de las herramientas de Arc incorporadas parecen forzar el bloqueo de los bloqueos a pedido (ya que los bloqueos se aplican a GDB completos de una sola vez, un bloqueo le impedirá trabajar con cualquiera de las Clases de entidades contenidas). Estas herramientas son arcpy.Compact_management () y arcpy.Exists ().
Aquí hay una pequeña función que uso dentro de mi código que ha aumentado dramáticamente la confiabilidad (para un script que crea y edita múltiples GDB y clases de características dentro de ellos):
Se usa simplemente pasando la ruta del espacio de trabajo (GDB) a la función, y debe hacerse después de cada operación en el espacio de trabajo (es decir, la creación de GDB) o en las clases de entidad dentro del espacio de trabajo (es decir, cursores, agregar campos, cálculos, etc.) . Por ejemplo (se muestra aquí como un script independiente, con la función en la parte superior; para usar la función, cópiela y péguela entre las importaciones y el programa real, como se muestra aquí):
fuente
Una geodatabase de archivos tiene 3 tipos de bloqueos.
La solución propuesta por @StacyR funcionará en todas las situaciones, excepto para los bloqueos de edición exclusivos (ED) de acuerdo con la documentación de ayuda de arcgis.
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003n0000007t000000
fuente
Si su código está creando los bloqueos, entonces no está limpiando usted mismo. Libere todas las referencias a clases de entidad, espacios de trabajo, cursores, etc. Los bloqueos se eliminan cuando no tiene más referencias a los objetos que se están bloqueando.
fuente