Как и DBMS_PIPE, может использоваться для коммуникации
между сеансами, подключенными к одной базе данных. Однако имеется несколько существенных различий:
Сигналы (alert) являются синхронными. Сигнал не посылается, пока записывающий сеанс не выполнит COMMIT. Если он откатывается, сигнал не передается.
Посланное в канал сообщение будет получено только одним приемником. Если в канале существует несколько приемников, только
один из них примет сообщение. Сигналы, однако, могут быть получены несколькими приемниками одновременно.
• Канальные сообщения состоят из различных упакованных частей, которые могут содержать данные различных типов. Сигналы же состоят из одной текстовой строки.
• Если в канал посылаются два сообщения, приемник получит оба. Однако если посылаются два сигнала, будет получен только второй сигнал.
Следующий блок демонстрирует отправку сигнала с помощью процедуры DBMS_ALERT .SIGNAL:
< Предыдущая | Следующая > |
---|