Tengo un script que recorta 20 clases de características y elimina el "archivo de recorte" (fcin). Mi problema es que el script falla en 3 de las clases de características con el error "Puede estar bloqueado por otra aplicación" cuando intenta eliminar el fcin. He intentado usar testschemalock para que sólo se borre si el script puede conseguir el bloqueo del esquema pero no hay diferencia. Ahora he intentado desconectar todos los usuarios y el nuevo espacio de trabajo. Entonces me sale un error de que el fcin no existe. Ahora no tengo ni idea de qué hacer. Hice un último intento de poner un bucle while en el nuevo espacio de trabajo después de desconectar todos los usuarios, pero luego se quedó atascado en el bucle (arcpy.Exists) porque no puede encontrar el archivo (el archivo existe). Es sólo en las mismas clases de características en las que falla. Cuando compruebo las conexiones no hay nadie conectado a la base de datos SQL.
Intenté averiguar si había algún problema con las clases de características pero no hubo resultado. Si ejecuto el script original tengo que cerrar Python antes de borrar la feature class manualmente.
Creo que fue cuando actualizamos a 10.5.1 cuando el script empezó a fallar.
Acabo de intentar hacer hardcode con una clase de característica que falla y sigue fallando. De alguna manera deben ser las clases de características pero no tengo ni idea de por qué.. Después de que el script trata de eliminar el clip en el archivo y falla, mueve el clip en el archivo a la raíz de la base de datos. Si sólo utilizo el delete.management y me salto el clip del archivo antes de que funcione. Así que es posible eliminar el archivo con ArcPy pero falla si recorto el archivo antes.
connection = 'connectionfile.sde'
arcpy.env.workspace = connection
arcpy.env.workspace = connection + '\\' + 'map_zone2'
arcpy.Clip_analysis('clip_in_file', 'clip_file_zone2', 'clip_out_file_zone2')
arcpy.Delete_management('clip_in_file')
ERROR 000601: Cannot delete clip_in_file. May be locked by another application.
Layer in use [clip_in_file]
Failed to execute (Delete).
Failed at Fri Oct 18 08:20:32 2019 (Elapsed Time: 0,65 seconds)
Código con bucle while
arcpy.Clip_analysis('clip_in_file', 'clip_file_zone2', 'clip_out_file_zone2')
print 'Disconnect all user'
arcpy.DisconnectUser(connectionsde, 'ALL')
arcpy.ClearWorkspaceCache_management()
print 'New connect'
arcpy.env.workspace = connection
arcpy.env.workspace = connection + '\\' + 'map_zone2'
while not arcpy.Exists(clip_in_file):
print 'New connect 2'
arcpy.ClearWorkspaceCache_management()
arcpy.env.workspace = connection
arcpy.env.workspace = connection + '\\' + 'map_zone2'
time.sleep(5)
print 'Delete clip in file'
arcpy.Delete_management('clip_in_file')