Господа,
а никто не создавал ли триггеры в ArcGIS Esri в персональных или файловых базах геоданных?
Если было такое, может поделитесь опытом?
Триггер в базе геоданных
- mant
- Участник
- Сообщения: 50
- Зарегистрирован: 23 ноя 2005, 16:21
- Репутация: 0
- Откуда: Одесса, Украина
- Контактная информация:
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Триггер в базе геоданных
У ESRI предусмотрен свой механизм через domain, subtype и extension.
http://help.arcgis.com/en/sdk/10.0/arco ... 000000.htm
http://help.arcgis.com/en/sdk/10.0/arco ... 000000.htm
- mant
- Участник
- Сообщения: 50
- Зарегистрирован: 23 ноя 2005, 16:21
- Репутация: 0
- Откуда: Одесса, Украина
- Контактная информация:
Re: Триггер в базе геоданных
Посмотрел про кастомизацию объектов - мне кажется это слишком радикальный способ...
В сабтипах и доменах не увидел нужного функционала.
Опишу пример задачи: нужно при добавлении строки в таблицу "Растительность" автоматически создавать в ячейке новой строки в столбце "Идентификатор" уникальный циферный (или циферно-буквенный) код. Потом автоматом обновлять (переписывать) домен "Растительность" на основе таблицы "Растительность".
В сабтипах и доменах не увидел нужного функционала.
Опишу пример задачи: нужно при добавлении строки в таблицу "Растительность" автоматически создавать в ячейке новой строки в столбце "Идентификатор" уникальный циферный (или циферно-буквенный) код. Потом автоматом обновлять (переписывать) домен "Растительность" на основе таблицы "Растительность".
- Дмитрий Барышников
- Гуру
- Сообщения: 2572
- Зарегистрирован: 17 ноя 2009, 19:17
- Репутация: 261
- Откуда: Москва
Re: Триггер в базе геоданных
Обходные пути обычно не работают или перестают работать при любом обновлении - сервис пак или новая версия ПО. Не просто так ESRI не позволяет менять БД "напрямую" и даже не позволяет (ограниченно позволяет) формировать SQL запросы. У них очень специфично идет работа с таблицами БД - через временные альфа-таблицы и кеширование. А домены - они вообще в другой таблице содержаться - в специальной структуре, которую трогать крайне не рекомендуется. Тем более они ее меняют от версии к версии.
Для обновления домена есть инструменты в красном ящике - Toolboxes\System Toolboxes\Data Management Tools\Domains (Table To Domain и Domain To Table).
Для обновления домена есть инструменты в красном ящике - Toolboxes\System Toolboxes\Data Management Tools\Domains (Table To Domain и Domain To Table).
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Триггер в базе геоданных
Кэширования в 9ке я на самом деле не припомню, а вот то что на каждую бизнес таблицу приходится еще feature таблица и две таблицы для поддержки версий - Add и Delete - это правда, если класс зарегистрирован как версионный. В этом случае написать систему триггеров будет сложновато - данные в бизнес таблицу будут попадать только когда вы будете проводить сжатие данных. А это не тот же самый момент, когда вы записываете данные в класс.Bishop писал(а): У них очень специфично идет работа с таблицами БД - через временные альфа-таблицы и кеширование.
А вот если вы используете неверсионное редактирование - то тут вы можете попробовать навесить тригерры на свою бизнес таблицу. Но я крайне рекомендую поискать sde_ функции для работы с доменами. Простое изменение таблицы со значениями доменов при неосторожности могут разрушить её. Функции работы с ними не допустят этого.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей