7 votos

¿Utilizando métodos ArcPy o SQL para truncar los datos de tablas y clases ArcSDE?

Hay un puñado de ArcPy métodos para truncar los datos en una tabla. También es posible hacer un directo de comandos SQL para truncar una tabla (por ejemplo TRUNCATE TABLE DBO.VALVES) a través de una biblioteca de Python (por ejemplo, cx_Oracle o pyodbc).

¿Cuáles son las ventajas o desventajas de ArcPy métodos a través de SQL alternativas?

Hacer estas consideraciones cambio cuando los datos versionados o no?

Si es relevante, ahora mismo estamos trabajando con Python 2.7 y la base de datos 10.2.1; vamos a pasar a Python 3 y la base de datos 10.6+ en algún momento del próximo año.

Nota: Para los fines de esta cuestión, la capacidad de Eliminar Filas para trabajar en un subconjunto no es relevante - estamos interesados en el vaciado completo de la mesa para volver a llenar con los datos, y debatiendo qué método(s) sería mejor para estandarizar.

1voto

JohnMcG Puntos 5062

Arcpy tiene un sql de la biblioteca dentro de ella así que no hay necesidad de usar pyodbc o cx_oracle directamente si usted no desea. La he usado con sql bases de datos espaciales que no se ejecutan SDE.

La lectura de la Discussion de que el artículo anterior, básicamente, responde a la mayoría de sus preocupaciones.

Copia de la pasta para la longevidad...

  • Enterprise tablas del sistema de geodatabase no debe ser alterado con algo que no sea software ArcGIS. La corrupción puede ocurrir si estas tablas del sistema son editados directamente con SQL.
  • Las modificaciones en los datos versionados realizar mediante SQL debe ser realizada únicamente a través de las vistas versionadas.
  • Para las geodatabases implementado en una base de datos relacional del sistema de gestión de bases de datos (DBMS) utilizando el gestor de base de datos tipos de datos y formatos de tabla, el gestor de base de datos propia SQL puede ser utilizado para trabajar con la información almacenada en la base de datos.
  • El acceso a la información en una geodatabase a través de SQL permite que aplicaciones externas para acceder a la tabla de datos administrada por la geodatabase. Estas aplicaciones externas pueden ser aplicaciones de base de datos no espaciales o personalizado espacial de las aplicaciones desarrolladas en un entorno distinto De ArcObjects. Ser conscientes, sin embargo, que el acceso SQL a la geodatabase evita la funcionalidad de la geodatabase, tales como la topología, redes, los terrenos, o de otra clase o espacio de trabajo extensiones.
  • Puede ser posible utilizar el gestor de base de datos características tales como disparadores y procedimientos almacenados para mantener las relaciones entre las tablas necesarias para cierta funcionalidad de la geodatabase. Sin embargo, la ejecución de comandos SQL en contra de la base de datos sin tener esta funcionalidad extra en cuenta-por ejemplo, la emisión de instrucciones INSERT para agregar registros a una tabla de negocios-se eludir la funcionalidad de la geodatabase y, posiblemente, corromper las relaciones entre los datos en la geodatabase.
  • Antes de intentar acceder o modificar cualquier geodatabase corporativa objetos, leer todos los de la geodatabase corporativa de la documentación sobre el uso de SQL en contra de la geodatabase de objetos en el DBMS.

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