Отслеживание правки данных

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Аватара пользователя
Pavel
Активный участник
Сообщения: 171
Зарегистрирован: 15 июл 2009, 07:45
Репутация: 7

Отслеживание правки данных

Сообщение Pavel » 19 июн 2014, 11:57

Доброго времени суток!

Вопрос будет скорее носить разъяснительный характер, может кто сталкивался.:)

В данный момент пробую связку ArcGIS + PostgrSQL. Со структуры, которую создает ArcGIS для работы с этой СУБД я немного в шоке, но все же...

Пытаюсь навесить на таблицу с данными небольшой триггер, который будет отмечать и заносить в другую таблицу записи вида: "кто", "когда" и "что" делал с исходной таблицей.
Теперь для чего. Я знаю, что в ArcGIS есть функция "Включить отслеживание правки", которая создает 4 дополнительных колонки в таблице. Там отображаются действия кто создал и кто изменил, но нет отображения операции удаления. Поэтому и разбираюсь с этим вопросом.

Собственно, сам триггер хорошо отрабатывает в дефолтной версии БД. Но если пользователь создает свою версию, и начинает работать в ней, то триггер молчит до операции закрепления версии в дефолтную. При этом, имя пользователя в колонку "кто", подставляется суперюзера (то есть того, кто проводил закрепление).

Можно ли каким-либо способом навесить триггер на таблицу, чтобы он все-таки показывал правильные действия?
Где искать действия пользователя, если он работает в версии?

Прошу прощения, если немного сумбурно получилось:)
Быстро, качественно, недорого - выбирайте любые два пункта...

Ivanych999
Участник
Сообщения: 95
Зарегистрирован: 25 ноя 2013, 16:28
Репутация: 22

Re: Отслеживание правки данных

Сообщение Ivanych999 » 27 июн 2014, 10:14

Надо обратить внимание на следующие моменты:
1. Все версионные данные ведутся в других таблицах СУБД (дельта-таблицы): A<1111> - для добавляемых объектов и D<1111> - для удаленных объектов, где <1111> - регистрационный номер таблицы (можно узнать в таблице sde.table_registry поле registration_id)
2. Почитайте разделы справки http://resources.arcgis.com/ru/help/mai ... 0vp000000/ и http://resources.arcgis.com/ru/help/mai ... 00q000000/

Скорее всего, надо просто навесить ещё по триггеру на дельта-таблицы

Аватара пользователя
Pavel
Активный участник
Сообщения: 171
Зарегистрирован: 15 июл 2009, 07:45
Репутация: 7

Re: Отслеживание правки данных

Сообщение Pavel » 27 июн 2014, 13:29

где <1111> - регистрационный номер таблицы (можно узнать в таблице sde.table_registry поле registration_id)
Я правильно понял, что этот Id присваивается один раз при регистрации данных как версионных? То есть потом, сколько не было бы создано версий, этот id не изменится?
Если это так, то вобще все красиво получается:)

Спасибо!
Быстро, качественно, недорого - выбирайте любые два пункта...

Ivanych999
Участник
Сообщения: 95
Зарегистрирован: 25 ноя 2013, 16:28
Репутация: 22

Re: Отслеживание правки данных

Сообщение Ivanych999 » 27 июн 2014, 14:01

Да. Всё так. Он присваивается в момент создания (регистрации) класса объектов, таблицы итд в базе геоданных.

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя