|
DDL trigger
|
|||
---|---|---|---|
#18+
Есть чужое приложение, которое работает со своей БД. Мне надо из этой БД, перенести данные в свою. Они ежедневно, создают новую таблицу (старые удаляют). Хочу вставить в эту таблицу триггер, что бы он новые данные передавал ко мне (там только insert) Начал создавать DDL триггер Код: sql 1. 2. 3.
И тут затык. Как узнать имя таблицы, что бы вставить его? Почитал доки, нашел только sys.trigger_events Но оказалось это не то( ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 14:30 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
https://docs.microsoft.com/ru-ru/sql/relational-databases/triggers/use-the-eventdata-function?view=sql-server-ver15 Если имени объекта нет, то парсить команду. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 14:44 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич https://docs.microsoft.com/ru-ru/sql/relational-databases/triggers/use-the-eventdata-function?view=sql-server-ver15 Если имени объекта нет, то парсить команду. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 18:59 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
asdor, Вы же понимаете, что идея очень хреновая с точки зрения последствий? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2020, 19:17 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
Всем спасибо. Тестирование показало полную работоспособность. Имя таблицы определяется. В EVENTDATA оно есть. Критик asdor, Вы же понимаете, что идея очень хреновая с точки зрения последствий? Почему ?. Хотя и отказались от этой идеи, удалось заставить правильно функционировать Чужое ПО. И проблема пропала. Вернулись к тому, как работаем уже лет 10. Задача не критическая. Это определение Гос.№ авто. на весовой, что бы диспетчерам не вводить в ручную. Т.е. для БП, отказ не страшен. Ну будут вручную вводить... какое то время. Что и было, пока не починили) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 07:51 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
asdor КритикВы же понимаете, что идея очень хреновая с точки зрения последствий? Почему ?. Хотя и отказались от этой идеи, удалось заставить правильно функционировать Чужое ПО. И проблема пропала. Вернулись к тому, как работаем уже лет 10.Да, тоже не вижу, что плохого. Речь же не о дизайне новой системы, а о костылях к чужой, которую к тому же нельзя модифицировать. В таких случаях и не так раскорячишься. Писать, конечно, нужно аккуратно, в частности, не использовать в триггере *, что бы при добавлении полей оно не сломалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 10:18 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
asdor, Потому что вы вносите изменения в чужую систему, если/когда все сломается, то виновник будет очевиден ) (Условно) может быть так - прилетает обновление этого ПО, там переименовали пару полей, ваш триггер конечно этого не учитывает, в результате ПО не работает (ошибка не обрабатывается и оно падает), а вы недоступны - например в отпуске где-нибудь на Курилах в пешем походе. Ну и лицензионное соглашение (если это покупное ПО) скорее всего прямо запрещает такие действия. Последствия для вас зависят от критичности для бизнес-процессов и упоротости руководства, но на всякий случай прочитайте статью 272 - неправомерный доступ к компьютерной информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 14:09 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
Критик, подобные действия действительно могут быть расценены как вмешательство работы в базу данных. Сбор данных из outsource системы должен быть предусмотрен этой системой. Наименее "инвазивным" было бы решение, использующее сравнение схемы данных, например. Если это не запрещено лицензионным соглашением. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 15:05 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
Критик, В данном случае все проще. БД у них практически на любом sql сервере. Практически в БД всего несколько таблиц. 1 постоянная, остальные создаются - уничтожаются. Никакого обновления ПО просто нет))) Если б было, то касалось, полагаю, распознавания номеров, а не работы с БД. И никаких запретов лезть в их БД нет. Из кучи полей ихних, я к себе всего 3-4 тащу. Мне не нужны их картинки, весом, гиги))) Мне достаточно текстового поля. Но Благодарю за предупреждение. Я понял ваши опасения, вполне обоснованные в общем случае, но не в данном. Там деньги плачены за систему. А главное у них 99.99% распознование номеров. "Ураган" на наших дорогах первый появился ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 16:26 |
|
DDL trigger
|
|||
---|---|---|---|
#18+
Критик (Условно) может быть так - прилетает обновление этого ПО, там переименовали пару полей, ваш триггер конечно этого не учитывает, в результате ПО не работает (ошибка не обрабатывается и оно падает), а вы недоступны - например в отпуске где-нибудь на Курилах в пешем походе. Поэтому лучше было бы сделать DDL event notification, и пусть какой-нибудь джоб в сторонке разбирал бы очередь. Если рванет, то последствия будут менее плачевны. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 03:25 |
|
|
start [/forum/topic.php?fid=46&msg=39957548&tid=1686123]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 390ms |
0 / 0 |