Здравствуйте, Zeter, Вы писали:
Z>Подскажите плиз как можно сделать оповещение со стороны сервера об обновлении базы данных
Что подразумевается под обновлением БД?
Здравствуйте, _ABC_, Вы писали:
_AB>Здравствуйте, Zeter, Вы писали:
Z>>Подскажите плиз как можно сделать оповещение со стороны сервера об обновлении базы данных _AB>Что подразумевается под обновлением БД?
Здравствуйте, BlackEric, Вы писали:
Z>>Подскажите плиз как можно сделать оповещение со стороны сервера об обновлении базы данных
BE>Кого оповещать? Можно через триггер писать в спец таблицу, которую будет job мониторить
думаю, имеется в виду оповещение программы по типу постгресовых NOTIFY.
Здравствуйте, _ABC_, Вы писали:
NB>>думаю, имеется в виду оповещение программы по типу постгресовых NOTIFY.
_AB>Это что-то вроде встроенного SQL Server Notification Services?
Здравствуйте, Zeter, Вы писали:
Z>Подскажите плиз как можно сделать оповещение со стороны сервера об обновлении базы данных
Один из вариантов — для всех таблиц, в которых мониторим изменения (если мониторих во всех — значит во всех) добавить колонку с типом rowversion. Этот тип хранит уникальный в пределах всей базы счетчик изменений. МС СКЛ сам заботится о нём, так включать его в свои обновления не нужно.
Из приложения самому опрашивать значение глобального счётчика и если изменилось, значит были изменения в какую-либо таблицу.
Здравствуйте, avpavlov, Вы писали:
A>Из приложения самому опрашивать значение глобального счётчика и если изменилось, значит были изменения в какую-либо таблицу.
Это не совсем со стороны сервера оповещение.
Похоже, что всё-таки Notification Services ему подходят. Правда я с ними не работал, поэтому советовать их не буду.
Здравствуйте, _ABC_, Вы писали:
_AB>Здравствуйте, avpavlov, Вы писали:
A>>Из приложения самому опрашивать значение глобального счётчика и если изменилось, значит были изменения в какую-либо таблицу.
_AB>Это не совсем со стороны сервера оповещение. _AB>Похоже, что всё-таки Notification Services ему подходят. Правда я с ними не работал, поэтому советовать их не буду.
Сам я тоже не работал, то быстрый просмотр говорит, что это скорее аналог MessageQueue, чем оповещение об изменениях в SQL таблицы.
Для использования этого сервиса надо контролировать обе взаимодействующие стороны, тогда как топикстартер, судя по всему, контролирует только одну, а вторая (которая пишет в БД) ему не доступна.
Re[4]: ms sql 2000
От:
Аноним
Дата:
17.01.14 08:53
Оценка:
Здравствуйте, Figaro, Вы писали:
F>У клиента или где? обновление... Хм.. чего т не понимаю — или о уровнях изоляций транзакций идет речь?
Тут дело такое. У меня есть прога которая отображает инфу с БД. Мне надо чтобы sql server сам оповестил прогу о том что данные обновились, а не моя прога делает постоянный опрос БД. Меня интересует именно sql server 2000 поскольку новее ничего поставить не могу.
Здравствуйте, Аноним, Вы писали:
А>Тут дело такое. У меня есть прога которая отображает инфу с БД. Мне надо чтобы sql server сам оповестил прогу о том что данные обновились, а не моя прога делает постоянный опрос БД. Меня интересует именно sql server 2000 поскольку новее ничего поставить не могу.
в MS SQL 2000 нет штатных средств/сервисов для подобного.
Здравствуйте, Zeter, Вы писали:
Z>Подскажите плиз как можно сделать оповещение со стороны сервера об обновлении базы данных
пишешь extended stored procedure которая при вызове ее из триггера на нужную тебе таблицу посылает UDP пакет в твою програму, а та уже по эвенту читает пакет и все что в нем нужно