View Single Post

   
  #3 (permalink)  
Old 02-26-2008, 05:18 AM
Mark D Powell
 
Posts: n/a
Default Re: passing it an Assoc. Array

On Feb 27, 5:27 pm, "Valentin Minzatu" <valentinminz...@yahoo.com>
wrote:
> On Feb 27, 2:31 pm, "Ed" <e...@mail.com> wrote:
>
> > How can one launch a proc via dbms_job
> > (to run in separate session) passing it an Assoc. Array ?

>
> > thanks
> > 10gR2

>
> You cannot. You would have to persist the data and reinitialize the
> array in the other session should you have to use it in that format.


Valentin is correct in that you cannot directly pass an associative
array to a procedure executed via dbms_job though you can use a
globally defined array type definition in the procedure. The
procedure would have to populate the array itself and for an array of
any size you would probably need to use a permanent store (table) as
suggested.

The package dbms_pipe can be used to pass data between active
sessions, but I have never tried to have one of the sessions demanded
in via dbms_job (or better dbms_scheduler) though this might be worth
a look if the data quantity is small. If you stuff a pipe and there
is no receiver it used to be possible to cause the database to hang.

HTH -- Mark D Powell --



Reply With Quote