Фиксирования действия юзеров

0 голосов
спросил 20 Май, 10 от Dido_kz1 (11,020 баллов) в категории Программные продукты Esri
привет форумчане, проблема такая, каждый раз у заказчиков при редактирования через SDE вопрос стоит,кем,когда занесен, я пытался с помощью оракла вешать триггера на A,D таблиц, но эти таблицы как кэш таблица, служат для временного хранения,т.е при редактирования атрибутов каждый раз вставляется новая строка или удаляются...
а стандартное архивирование аркгиса-это дублирование класса объектов, там можно там максимум дату изменений можно посмотреть
кто как справляется, поделитесь Embarrassed

6 Ответы

0 голосов
ответил 20 Май, 10 от Worker (22,480 баллов)
Я вьюшку создал для этого - беру данные из sde.sde.SDE_mvtables_modified. Потом делаю INNER JOIN с sde.sde.SDE_table_registry, время регистрации в A и D таблицах. Не ахти конечно, но лучше, чем ничего :)
видно, в какой базе редактировали, какую таблицу, кто редактировал, время и id а и d таблиц.
0 голосов
ответил 21 Май, 10 от Dido_kz1 (11,020 баллов)
речь идет не о модификаций таблиц,а редактирование данных ,
примерно кое что нашел, в таблице sde.state_lock можно посомтреть тип операций, редактирования и сохранения есть по крайней мере, время редактирования фиксируется в sde.states, вроде все понятно, можно вычислить редактирования или удаления, осталось только выяснить, новый запись или существующий (редактирования) появляется на А таблице :) потом отпишусь
Зря Есри так делает, все через Ж...
Хотя они обещают в 9.4 все эти SDE-шные таблицы не будут, т.е напрямую с основной таблицы будем работать,а там уже без проблем вычислить....
0 голосов
ответил 22 Май, 10 от Grigoriy (127,020 баллов)
Вы и сейчас (в 9.3) можете напрямую редактировать таблицу - достаточно включить опцию не версионного редактирования. Но тогда прощай версии, длинные транзакции, репликация и история, и здравствуйте зависшие блокировки image.
Для нормального управления заданиями на редактирование можно или самому писать код по типу такого:
http://resources.esri.com/help/9.3/arcgisdesktop/com/samples/Extending_ArcObjects/Ch07_Geodatabase/Timestamper/02f529ab-191e-4622-9920-90312249f603.htm
Или использовать Job Tracking eXtension (JTX):
http://www.esri.com/software/arcgis/extensions/jobtracking/index.html

    
0 голосов
ответил 24 Май, 10 от Dido_kz1 (11,020 баллов)
Григорий спасибо за примеры, с Job Tracking знаком, это не то, то что мне надо, подскажите пожалуйста, как можно поля скрыть от юзеров средствами аркгис ?
0 голосов
ответил 27 Май, 10 от Dido_kz1 (11,020 баллов)
не получается вывести имя компьютера текущего юзера, так как SDE работает через свои провайдер и все конечные действия выполняется SDE сервером,
sys_context ('userenv', 'host')  возвращает имя сервера :(
------------------------------------------------------------
SDE 9.3.1 Oracle 11gR1
0 голосов
ответил 27 Май, 10 от Dido_kz1 (11,020 баллов)
пока выход такой, лишний шаг,но деваться некуда :)
select t.nodename into nodename from sde.process_information t where t.owner=user;
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...