ArcSde

0 голосов
спросил 08 Ноя, 10 от Henior (560 баллов) в категории Программные продукты Esri
Всем привет! Может кто сталкивался. База геоданных находится на Sql server 2005. Написал триггер чтобы автоматически вычислялись значения. Подключил через ArcCatalog в Database Connections базу геоданных, указал версию при подключении dbo.DEFAULT, все здорово работает, триггер все вычисляет. Создал другую версию dbo.Edit, выбрал ее в том же подключении вместо dbo.DEFAULT, триггер перестал вычислять значения, хотя база таже. В чем может быть проблема. Заранее спасибо!

8 Ответы

0 голосов
ответил 08 Ноя, 10 от PITKS1 (20,860 баллов)
Триггер у тебя по какому условию срабатывает ?? Версионные данные хранятся совершенно в других таблицах. Только при сведении версии они загоняются в основную таблицу элемента.
0 голосов
ответил 09 Ноя, 10 от Henior (560 баллов)
Триггер срабатывает при обновлении данных в таблице, которая никакого отношения не имеет к версиям! А что значит:
Только при сведении версии они загоняются в основную таблицу элемента.
0 голосов
ответил 09 Ноя, 10 от Worker (22,480 баллов)
Речь идет о том, что при редактировании версионных данных все изменения заносятся в дельта-таблицы adds и deletes (a и d). При сведении версии иземнения переносятся в основую таблицу (бизнес-таблицу).
Вот и вопрос при каком условии тригер срабатывает? Вы же редактируете версионные данные, если я правильно понял (раз к версии подключаетесь).
0 голосов
ответил 10 Ноя, 10 от Henior (560 баллов)
Да все верно! Чтобы было понятно напишу сам триггер:
cretae trigger u_test1
on test1
for update
as
declare @id float
begin
select @id=OBJECTID from inserted
update GTS set DEPTH=HATCH-BOTTOM where @id=OBJECTID
end
Так вот этот триггер срабатывает только в версии Default, а надо чтобы срабатывал во всех версиях. Тогда возникает вопрос где находятся дельта-таблицы и как к ним обращаться?
0 голосов
ответил 10 Ноя, 10 от TDenis (42,620 баллов)
Тогда возникает вопрос где находятся дельта-таблицы и как к ним обращаться?

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Versioned_tables_in_a_geodatabase_in_SQL_Server&anchor=ssvdbms
http://webhelp.esri.com/arcgisdesktop/9.3/pdf/SS_version_tables.pdf
0 голосов
ответил 10 Ноя, 10 от Henior (560 баллов)
Спасибо большое! Теперь разберусь)))
0 голосов
ответил 11 Ноя, 10 от Henior (560 баллов)

по какому принципу задаются номера таблиц adds

0 голосов
ответил 11 Ноя, 10 от Worker (22,480 баллов)
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Versioned_tables_in_a_geodatabase_in_SQL_Server&anchor=ssvdbms

В самом первом абзаце:
a<registration_id> где registration_id берется из столбца registration_id таблицы sde_table_registry для вашего класса пространственных объектов (т.е., его бизнес-таблицы).
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...