7 votos

¿Cómo se almacenan las ediciones no guardadas / temporales durante la edición versionada?

En ArcGIS Desktop, puedo editar versiones, tablas de Oracle.

Puedo editar la versión predeterminada, y me he registrado las tablas como versionados con la opción para mover modificaciones a la base.

Puedo hacer cosas como:

  • Inicie una sesión de edición
  • Insertar, actualizar y eliminar datos
  • Deshacer y rehacer ediciones que se hicieron en la sesión de edición
  • Guardar las modificaciones

La documentación me dice:

Las ediciones son temporales hasta que se elija para guardar y aplicar permanentemente a sus datos. También puede salir de una sesión de edición sin guardar los cambios.

Al guardar los cambios, usted escribir en la fuente de datos, o una base de datos.

Fuente: Iniciar una sesión de edición en la sección ¿Qué es la edición?

Pregunta:

Sin embargo, la documentación mencionada, no me digas cómo los que no son salvos/temporal, las modificaciones se almacenan hasta que son salvos. Son almacenados en la memoria RAM, un cero de la tabla, no confirmadas las filas de la tabla, o en otro lugar?

8voto

Frank Lowney Puntos 11

En resumen, que no son salvos/temporal de las ediciones de la geodatabase en ArcGIS se almacenan en una tabla, específicamente las tablas Delta, también conocido como Un (agregar) + D (borrar) las tablas basadas en la información que yo estoy en conocimiento y la investigación.

En Esri Registrarse como versionados con la opción de mover las ediciones a base de

Si usted decide inscribirse en un dataset de entidades, independiente de la clase de entidad o tabla como versionados con la opción para mover modificaciones a la base, haga clic en el árbol de Catálogo, seleccione Administrar, a continuación, haga clic en Registrarse Como Versionados para abrir el Registro Como Versionados cuadro de diálogo. Verificación de Registro de los objetos seleccionados con la opción para mover modificaciones a la base. Marcando esta opción hace que las ediciones que se han guardado en la versión PREDETERMINADA, si se editan directamente o combinados de otras versiones, para ser guardada en la base (de negocios) de las tablas. Cambios a otras versiones de permanecer en las tablas delta cuando se guarda.

Además, Esri tablas Versionadas en ArcGIS for Desktop

...Sin embargo, en lugar de crear una nueva copia o modificación de los datos originales, la geodatabase hojas de la versión de la tabla o clase de entidad en su forma original y almacena los cambios a los datos en diferentes tablas del sistema de geodatabase. Las tablas de geodatabase que el registro de los cambios de versión se conoce como las tablas delta. Para cada tabla o clase de entidad que ha sido versionada, dos nuevas tablas delta-añade (a) y elimina (d) de la tabla-se crean.

Cual es diferente en la convención utilizada por los Versionados de tablas en una base de datos de Oracle

Cuando usted se registra un dataset de entidades, independiente de la clase de entidad o tabla como versionados, las tablas delta-agrega y elimina las tablas-se crean en la base de datos. Las tablas delta registro de las inserciones, actualizaciones o eliminaciones realizadas para un versionada de la tabla o clase de entidad en cada estado de la base de datos.

Como usted menciona en su propio post, Iniciar una sesión de edición

Las ediciones son temporales hasta que se elija para guardar y aplicar de forma permanente a sus datos.

También, Guardar las modificaciones a una versión

Al iniciar la edición de una versión, empezar a trabajar con su propia representación de la versión. Otros usuarios que estén conectados a la misma versión no puede ver ninguno de sus cambios hasta que los guarde. Mientras se está editando, otros usuarios pueden editar la misma versión.

Esta es una diapositiva (39/43) a partir de este Esri presentación, 2009, Multi-usuario de la Geodatabase flujos de trabajo de Edición

Las modificaciones se almacenan en Un & D de archivo, que cada edición de recibir una tarjeta de IDENTIFICACIÓN del estado.

enter image description here

Luego, cuando las ediciones se salvan ellos se trasladaron a la base de la tabla

enter image description here

Para agregar más detalles al contexto de esta respuesta/discusión. Como se ha mencionado por la sección de comentarios para que usted publica, el control de versiones se utiliza para

Con el fin de proporcionar soporte para múltiples usuarios de la creación y actualización de grandes cantidades de información geográfica en una empresa de la geodatabase de ArcSDE proporciona un entorno de edición que soporta concurrente edición multiusuario sin necesidad de crear múltiples copias de los datos. Este entorno de edición de se llama control de versiones.

El control de versiones consiste en registrar y gestionar los cambios en una geodatabase multiusuario mediante la creación de una versión de la base de datos-una alternativa, independiente, vista persistente de la base de datos que no implican la creación de una copia de los datos y soporta múltiples y concurrentes de los editores. El control de versiones sólo puede ser implementado en las geodatabases de ArcSDE alojado en un sistema de gestión de base de datos (DBMS), la plataforma que soporta concurrente edición multiusuario. Las geodatabases personales, por otro lado, que sólo admiten una sola edición de usuario, no admiten el control de versiones.

En la prestación de control de versiones de funcionalidad, el entorno de edición también soporta la edición de las sesiones que normalmente abarcan un número de días, la facilidad para deshacer o rehacer los cambios realizados a la base de datos, "¿que pasaría si" los escenarios, las pruebas y el desarrollo de modelos de datos y la aplicación alternativa de las propuestas de diseño sin afectar a la base de datos publicada, y un mecanismo de supervisión de cómo los datos y la base de datos han evolucionado con el tiempo.

ArcSDE también proporciona la capacidad para el proyecto de apoyo a los flujos de trabajo aplicado en muchas organizaciones. Para comprender mejor los desafíos particulares de la gestión concurrente de acceso multiusuario a la información geográfica almacenada en un sistema de base de datos, en esta sección se describen de ArcSDE el control de versiones en detalle, incluyendo DBMS editar las transacciones, flujos de trabajo, y de la conciliación.

enter image description here

Los estados son los contenedores de los cambios a la base de datos. Cuando se realizan cambios a una versión, los cambios están marcados con el estado apropiado. Un estado tiene un propietario, que se establece para el usuario que crea el estado. Sólo el propietario de un estado, o el administrador de ArcSDE, puede modificar las propiedades de un estado o eliminarlo.

Existen versiones en una red de base de datos de los estados. Cada versión de la base de datos de puntos a un estado específico; varias versiones apuntan a que el mismo estado, si se desea. A lo largo del tiempo, las versiones se mueve de un estado a otro.

enter image description here

4voto

user62572 Puntos 587

Crear una tabla de prueba:

  1. En SQL Developer:

     create table test_table
     (
         field1 varchar2(255)
     );
    
  2. En ArcCatalog: Registro de la tabla con la Geodatabase

  3. Registro de la tabla como versionados, con la opción para mover modificaciones a la base.

  4. En SQL Developer, ejecutar esta consulta:

Nota: necesito asegurar que yo uso una conexión que tiene acceso a SDE tablas del sistema. La conexión probable que no sea uno que se conecta como el propietario de la tabla (para mí es OS Autenticación de la conexión).

select
    a.table_name,
    a.registration_id,
    b.state_id,
    c.owner,
    c.creation_time,
    c.closing_time,
    c. parent_state_id,
    c.lineage_name
from 
    sde.table_registry a
left join 
    sde.mvtables_modified b
    on a.registration_id = b.registration_id
left join
    sde.states c
    on b.state_id = c.state_id  
where
   a.table_name = 'TEST_TABLE'

+------------+-----------------+----------+-------+---------------+--------------+-----------------+--------------+
| TABLE_NAME | REGISTRATION_ID | STATE_ID | OWNER | CREATION_TIME | CLOSING_TIME | PARENT_STATE_ID | LINEAGE_NAME |
+------------+-----------------+----------+-------+---------------+--------------+-----------------+--------------+
| TEST_TABLE |           83445 |          |       |               |              |                 |              |
+------------+-----------------+----------+-------+---------------+--------------+-----------------+--------------+

Puedo ver que la tabla existe, pero no hay registros relacionados en la mvtables_modified o states tablas.

Ahora agregue una fila y un valor (hacer un inconverso/temporal edición):

  1. Agregar la tabla a ArcMap

  2. En Arcmap: Iniciar la edición de

  3. Crear una nueva fila.

  4. Tipo "Una muestra de la edición." en FIELD1.

  5. Hit enter para terminar la fila.

Nota: no guardar los cambios (y no deje de edición).


  1. En SQL Desarrollador: re-ejecutar el select consulta que se menciona en el #4 de arriba.

Ahora puedo ver los registros relacionados en la mvtables_modified y states tablas:

+------------+-----------------+----------+----------+------------------------+--------------+-----------------+--------------+
| TABLE_NAME | REGISTRATION_ID | STATE_ID |  OWNER   |     CREATION_TIME      | CLOSING_TIME | PARENT_STATE_ID | LINEAGE_NAME |
+------------+-----------------+----------+----------+------------------------+--------------+-----------------+--------------+
| TEST_TABLE |           83445 |  1501810 |  USER1   | 10/20/2017 12:41:24 PM |              |         1501809 |      1501730 |
+------------+-----------------+----------+----------+------------------------+--------------+-----------------+--------------+

Análisis Del Resultado:

Evidentemente, al crear un nuevo registro, pero aún no guardar las modificaciones, las filas se agregan automáticamente a la mvtables_modified y states tablas.

Creo que esto indica que @Vince era correcta. No son salvos/temporal ediciones son de hecho cometido a la base de datos.

Además, puedo mirar la adds tabla:

select
    *
from
    user1.A83438

+----------------+----------+--------------+
|     FIELD1     | OBJECTID | SDE_STATE_ID |
+----------------+----------+--------------+
| A sample edit. |        1 |      1501810 |
+----------------+----------+--------------+

Y sí, veo a mi "Un ejemplo de edición. de texto" en la adds tabla, de nuevo demostrando @Vince punto.


Sugerencia: necesito asegurar que me he puesto la correspondiente select privilegios para los la test_table , de modo que mi conexión puede acceder a la tabla (y también de la adds tabla).

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