Oracle (непрерывное уведомление о запросах) - способ получить больше данных в уведомлении CQN? - PullRequest
0 голосов
/ 11 февраля 2011

Мы используем oracle CQN для уведомлений об изменениях для конкретных запросов.

Это нормально работает для всех вставок и обновлений. Проблема заключается в удалении, при удалении уведомление отправляется с ROWID среди других деталей. Мы больше не можем использовать ROWID для поиска строки, потому что она была удалена.

Есть ли способ получить больше данных в уведомлении CQN относительно удаленной строки?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Боюсь, что нет.

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

Пример из реальной жизни. Это может быть полезно для баз данных в реальном времени, таких как Интеллектуальная сеть (то есть для управления предоплаченными абонентами в телекоммуникационной сети), в которых звонящие должны быть подключены как можно скорее. Машина, отвечающая за авторизацию вызовов (SCP, их несколько на всей территории), обычно является базой данных в памяти, и реальная постоянная база данных живет на другом узле (SDP в центральном центре данных). SDP со своей базой данных на диске получает события жизненного цикла и события пополнения баланса и уведомляет подписывающиеся SCP.

Возможно, у вас другая модель использования.

0 голосов
/ 08 марта 2018

У меня тоже была эта проблема: вместо удаления строки я использовал столбец «Активный», вместо удаления строки я изменил «Активный» с «ДА» на «НЕТ».

...