Как зарегистрировать обработчик событий в C # для уведомления в Oracle - PullRequest
1 голос
/ 29 августа 2011

Я пытаюсь улучшить время отклика одного из наших приложений мониторинга на стороне сервера. В настоящее время мы используем метод опроса.

Чтобы привести простой пример ситуации, «это приложение мониторинга должно отправить электронное письмо, как только данная таблица станет пустой». Текущее приложение выполняет запрос «выберите счетчик (*) из tbXXX» с настроенной частотой (скажем, каждые 10 секунд), и когда счетчик получает «0», он выполняет остальную часть работы.

Есть ли способ в Oracle избежать вышеупомянутого опроса и зарегистрировать обработчик событий в коде с базой данных, который будет вызываться, когда сторона базы данных обнаружит такое же условие ..?

Наш архитектор программного обеспечения поделился со мной, что это можно сделать на сервере Microsoft SQL через SQL NS. Но он, к сожалению, не специалист по Oracle.

Для получения более подробной информации наше приложение основано на .Net 3.5 SP1, база данных - Oracle 11gR2, и мы используем ODAC для взаимодействия с базой данных.

Спасибо ..

1 Ответ

2 голосов
/ 29 августа 2011

Oracle также поддерживает это - у них даже есть разные механизмы для этого (действующие или только для совершенных транзакций и т. Д. И могут отправлять полезные данные и т. Д.) ... Например, вы используете триггеры в сочетании со встроенным пакетом Oracle dbms_alert.signal

Я недостаточно хорошо знаю ODAC, чтобы привести пример C # с использованием ODAC, поскольку я использую (коммерческие компоненты) из Devart ... у них есть несколько примеров, как это сделать - см. http://www.devart.com/dotconnect/oracle/docs/OracleAlerter.html

Возможно, пример поможет вам увидеть, как это сделать с ODAC ...

РЕДАКТИРОВАТЬ - некоторые ссылки ODAC с примером кода:

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