Я пытаюсь вывести очередь из очереди на другом сервере. Я не могу использовать распространение, чтобы получить его на сервер, который нуждается в данных. Если я добавлю dblink в имя очереди в опциях dequeue, я получу ошибку.
Error at line 9
ORA-25200: invalid value prim_queues.prim_trade_q@prim_dbln, QUEUE_NAME should be [SCHEMA.]NAME
ORA-06512: at "SYS.DBMS_AQ", line 619
ORA-06512: at "PSINET_AQ.AQ_INBOUND_TRADES_PKG", line 20
ORA-06512: at line 10
Так что я предполагаю, что это невозможно.
Вместо этого я помещу DEQUEUE в пакет на сервере с очередью и просто вызову этот пакет по ссылке.
Это правильно?
EDIT:
Игорь упоминает об использовании динамического SQL, но я помещаю пакет на сервер с очередью. Это тоже анализируется с той же стороны. Проблема становится то, что удаленный объект существует только на сервере этой очереди. Даже если у нас есть идентичный на противоположной стороне.