Re: Remote procedure call via DBMS_PIPE/AQ/whatever

  • From: "Moore, Paul" <Paul.Moore@xxxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 19 Dec 2005 10:21:22 -0000

From: Connor McDonald <mcdonald.connor@xxxxxxxxx>
> On 12/13/05, Moore, Paul <Paul.Moore@xxxxxxxxxxxxxx> wrote:
>>
>> I am building an application which needs to initiate a background process
>> and receive its result. This is effectively a remote procedure call from one
>> database session to another.
>>
>>
> If its all database-to-database, then it sounds like dbms_aq is what you
> might be after.   If its calling something external, then have you looked at
> "external procedures" or perhaps a call to a java routine which then
> undertakes what you need to do ?
> Cheers
> Connor

Thanks, Connor!

It looks like dbms_aq.register was the bit I was missing - I was building the 
whole notification process by hand with pipes (one pipe for requests, a second 
per-request pipe for the result, etc). I *knew* I was reinventing the wheel, 
but couldn't find the example I needed.

I did try Java but it was a pain (my background process needs to be 
multithreaded, and Java within the DB is single-threaded, and using Java to 
fire off an external process ran into all sorts of fun with passing data back & 
forward, and security issues :-(). I ignored external procedures because as far 
as I can tell, I need to code them in C, and I think I'd have all of the same 
problems as with the Java approach, but worse...

On the other hand, DBMS_AQ with PL/SQL notifications looks like just what I 
need.

Off to read the DBMS_AQ documentation in more detail, and try out some examples.

Thanks again,
Paul.


__________________________________________________________________________
This e-mail and the documents attached are confidential and intended 
solely for the addressee; it may also be privileged. If you receive this 
e-mail in error, please notify the sender immediately and destroy it.
As its integrity cannot be secured on the Internet, the Atos Origin group 
liability cannot be triggered for the message content. Although the 
sender endeavours to maintain a computer virus-free network, the sender 
does not warrant that this transmission is virus-free and will not be 
liable for any damages resulting from any virus transmitted.
__________________________________________________________________________
--
//www.freelists.org/webpage/oracle-l


Other related posts: