Триггер в базе геоданных

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Аватара пользователя
mant
Участник
Сообщения: 50
Зарегистрирован: 23 ноя 2005, 16:21
Репутация: 0
Откуда: Одесса, Украина
Контактная информация:

Триггер в базе геоданных

Сообщение mant »

Господа,
а никто не создавал ли триггеры в ArcGIS Esri в персональных или файловых базах геоданных?
Если было такое, может поделитесь опытом?
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Триггер в базе геоданных

Сообщение Дмитрий Барышников »

У ESRI предусмотрен свой механизм через domain, subtype и extension.
http://help.arcgis.com/en/sdk/10.0/arco ... 000000.htm
Аватара пользователя
mant
Участник
Сообщения: 50
Зарегистрирован: 23 ноя 2005, 16:21
Репутация: 0
Откуда: Одесса, Украина
Контактная информация:

Re: Триггер в базе геоданных

Сообщение mant »

Посмотрел про кастомизацию объектов - мне кажется это слишком радикальный способ...
В сабтипах и доменах не увидел нужного функционала.

Опишу пример задачи: нужно при добавлении строки в таблицу "Растительность" автоматически создавать в ячейке новой строки в столбце "Идентификатор" уникальный циферный (или циферно-буквенный) код. Потом автоматом обновлять (переписывать) домен "Растительность" на основе таблицы "Растительность".
Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Триггер в базе геоданных

Сообщение Дмитрий Барышников »

Обходные пути обычно не работают или перестают работать при любом обновлении - сервис пак или новая версия ПО. Не просто так ESRI не позволяет менять БД "напрямую" и даже не позволяет (ограниченно позволяет) формировать SQL запросы. У них очень специфично идет работа с таблицами БД - через временные альфа-таблицы и кеширование. А домены - они вообще в другой таблице содержаться - в специальной структуре, которую трогать крайне не рекомендуется. Тем более они ее меняют от версии к версии.
Для обновления домена есть инструменты в красном ящике - Toolboxes\System Toolboxes\Data Management Tools\Domains (Table To Domain и Domain To Table).
yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Триггер в базе геоданных

Сообщение yellow-sky »

Bishop писал(а): У них очень специфично идет работа с таблицами БД - через временные альфа-таблицы и кеширование.
Кэширования в 9ке я на самом деле не припомню, а вот то что на каждую бизнес таблицу приходится еще feature таблица и две таблицы для поддержки версий - Add и Delete - это правда, если класс зарегистрирован как версионный. В этом случае написать систему триггеров будет сложновато - данные в бизнес таблицу будут попадать только когда вы будете проводить сжатие данных. А это не тот же самый момент, когда вы записываете данные в класс.
А вот если вы используете неверсионное редактирование - то тут вы можете попробовать навесить тригерры на свою бизнес таблицу. Но я крайне рекомендую поискать sde_ функции для работы с доменами. Простое изменение таблицы со значениями доменов при неосторожности могут разрушить её. Функции работы с ними не допустят этого.
Ответить

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

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

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