Это можно легко сделать в зависимости от Tibco инструменты, которыми вы владеете. Если у вас есть BW и ADB (Active Database Adapter), вы можете использовать это.
вариант 1:
Если вы не имеете ADB вы можете имитировать его, делая что-то вроде следующего (АБР не магическая его довольно Пролив вперед)
1) Создать Зеркало таблицы, ведется наблюдение за изменения (вы можете просто положить в колонке вы хотите контролировать плюс ключе) Key ColumnYouWantToMonitor DeliveryStatus (Adb_L_DeliverStatus) типа транзакции (adb_opCode) времени Это произошло (Adb_timestamp) Статус доставки (ADB_L_DeliveryStatus) 2) Создайте триггер в таблице, который вставляет запись в таблицу.
3) Написать процесс .Net, который отслеживает за столом каждые 5 секунд или 10 или что-то (Сделать это настраивается) (выберите * от tableX где DeliveryStatus = 'N' порядка по transactionTime)
4) Поместите сообщение в очереди EMS или вызов службы для вас .Net App.
Вариант 2
1) Создайте триггер на таблице и записать событие в службу брокерской деятельности SQL Server Queue 2) Написать приложение .Net, который считывает из этой очереди SSBs и преобразует его в а EMS сообщений
некоторые конструктивные соображения
- Старайтесь не постоянно запроса (ака опрос) для изменения на вашей основной таблицы (предотвратить блокирование)
- Если ваше приложение не работает и происходят изменения БД, убедитесь, что у вас есть время истечения срока действия сообщения. Поэтому, когда ваше приложение запускается, ему не нужно обрабатывать 1000 сообщений из очереди (в зависимости от того, требуется ли вам сообщение или нет)
Если вам нужны сообщения, которые могут потребовать установки очереди на диск поэтому вы не теряете сообщений. Также подтверждение клиента в вашем .Net-приложении было бы хорошей идеей, а не просто автоаккой.