Can you rename DBLink?

I am trying to dequeue on another server. I can't use distribution to get it on the server that needs the data. If I put dblink on the queue name in the dequeue options, I get an error.

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

      

So I guess this is not possible.

Instead, I'll put DEQUEUE into a package on the server using a queue and just call that package from the link.

Is it correct?

EDIT:

Igor mentions using dynamic SQL, but I am putting the package on the server with a queue. This is also analyzed on one side. The problem then becomes a dequeued object that only exists on that queue server. Even if we have the same on the opposite side.

0


source to share


1 answer


You can use a DB link to call the remote version of DBMS_SQL for dynamic SQL (or anonymous PL / SQL block), which means the statement is parsed in the remote database, but as a "local" statement.



begin dbms_sql.parse@dblink (...); end;

+1


source







All Articles