SQL Server уведомление об изменении и SqlDependency - PullRequest
1 голос
/ 01 апреля 2012

Я искал лучший механизм для уведомления моих настольных клиентов об изменении таблицы сервера SQL.Исключая опцию уровня сервера приложений, я смотрю на решения, которые вписываются в существующую модель толстого клиента-> Sql-сервера.Я знаком с триггерами и опросами, но надеялся на что-то более умное.

Один из вариантов - SqlDependency.Я смотрю на это в данный момент, но видел несколько упоминаний о том, что он имеет «ограничения» и может быть «неподходящим» для большого количества изменений.Я не нашел много информации об этом или много недавних примеров кода.

Что вы используете для уведомления, что таблица сервера SQL была изменена?

1 Ответ

2 голосов
/ 01 апреля 2012

Если у вас нет услуги, то есть все изменения в таблицах проходят через нее, то вы переходите к опросу или зависимости.Все, что зависит от зависимостей, - это подключить собственный код изменения таблиц серверов SQL и запустить событие изменения.Базовый механизм очень прост и может быть затоплен большим количеством изменений, попытка рационализировать изменения в обработчике событий в лучшем случае проблематична.

Вы можете попасть куда-нибудь с триггерами в «коммуникационную таблицу», где вы можете добавить логику рационализации, а затем использовать зависимость оттуда.

Таким образом, вместо обнаружения простого изменения столбца1 в таблице1Вы запускаете вставку в запись события в своей таблице связи.

Это будет PIA, потому что вы исключили уровень сервера приложений, вы также резко ограничили свои возможности для выполнения чего-то эффективного и приятного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...