Можно ли вызвать функцию C # с помощью триггера SQL Server? - PullRequest
4 голосов
/ 27 января 2011

В мою базу данных пришло внешнее приложение для вставки строки в таблицу сервера Sql.

У меня есть собственное веб-приложение, и я хочу, чтобы на каждой вставке в этой таблице выполнялась некоторая обработка на стороне сервера.

Моя идея - создать триггер при вставке в таблицу, а затем вызвать соответствующую функцию.

Каков наилучший способ сделать это?

Я использую Framework 3.5 с LINQ to SQL и базой данных SQL Server 2005.

Редактировать : Спасибо за ответы. Интеграция с SQL Server CLR этого не делает. Несколько поддерживаемых библиотек не отвечают моим требованиям.

Таблица, которую я должен регистрировать, будет занимать новую запись каждые 5 минут, возможно, не так много. Может быть, я могу каждую минуту слушать работу за столом, смотреть на удостоверение личности, брать все новые удостоверения личности, проходить лечение. Мое решение не слишком уродливо?

Ответы [ 2 ]

6 голосов
/ 27 января 2011

Использование интеграции SQL Server CLR.

http://msdn.microsoft.com/en-us/library/ms254963%28v=VS.80%29.aspx

1 голос
/ 27 января 2011

Если вашей функции потребуется много времени для запуска или доступа к ресурсам, которые не являются частью одной и той же базы данных, вы можете рассмотреть возможность отсоединения вызова функции от триггера (чтобы исходный оператор, который вызвал срабатывание триггера))

В этом случае вы можете захотеть взглянуть на компонент Service Broker или просто использовать отдельную таблицу для постановки запросов в очередь для вызова функции (и использовать задание агента SQL для удаления этих запросов и вызова функции).

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