4 votos

Proteger los campos de la edición o la eliminación

Me preguntaba si hay alguna forma de proteger los campos para que los usuarios no puedan borrarlos o editarlos. Dicho esto, un "superusuario" tendría que poder editar y borrar a voluntad.

trabajando en python con arcpy; arcgis 10.3

2 votos

Esto es posible con las bases de datos SDE y las conexiones/roles de los usuarios, no conozco esta capacidad en las geodatabases de archivos o personales

1 votos

No pensaba así. Sé que shape_area y shape_length están bloqueados y esperaba poder hacer lo mismo con otros.

1 votos

Creo que los atributos de la geometría sólo están bloqueados en el sentido de que se derivan de la geometría y, por tanto, cambian con las ediciones espaciales. Tal vez usando un software de visualización ¿es una buena alternativa para determinados usuarios?

1voto

Örjan Jämte Puntos 3127

Al crear un campo en un FGDB, puede marcarlo como required que no le permitirá borrarlo.

>>> gdb = arcpy.CreateFileGDB_management('C:/temp', 'temp')[0]
>>> table = arcpy.CreateTable_management(gdb, 'table')[0]
>>> arcpy.AddField_management(table, 'a', field_is_required=True)    
>>> arcpy.DeleteField_management(table, 'a')

Runtime error 
Traceback (most recent call last):  
File "<string>", line 1, in <module>  
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\management.py", line 3479, in DeleteField     raise e ExecuteError:
Failed to execute.
Parameters are not valid.
ERROR 001334: Cannot delete required field a
Failed to execute (DeleteField).

De la ayuda en Add Field :

Los campos definidos como obligatorios son permanentes y no podrá borrarlos en futuros procesos. Para permitir su eliminación en un momento posterior el campo como no obligatorio (el valor predeterminado).

0 votos

¿No podría colocar la tabla de datos protegidos en una carpeta donde sólo el superusuario tenga permisos de lectura/escritura, y luego unir las tablas?

0 votos

Un montón de gastos generales, pero supongo que es una forma de evitarlo.

0 votos

Creo que la respuesta proporcionada es lo más parecido a lo que voy a conseguir. Me gustaría poder hacer esto fuera de las bases de datos geográficos, pero no parece posible.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X