DBD::Proxy doesn't know that bind_param_inout might set a value
to something that needs to be 'proxied'. (I'm not even sure that
bind_param_inout works properly with DBD::Proxy.)

Patches welcome.

Tim.

On Mon, Apr 22, 2002 at 01:57:53PM -0500, Gajjala, Bhushan wrote:
>       I am having a problem retrieving a ResultSet from an Oracle stored
>       function. The function is called from a script that connects to an
>       Oracle DB via the DBD::Proxy driver. Here's my sample code:
>       
>       my $sth1 = $DB->prepare(q{BEGIN
>       ? := f_get_a_cursor(); # returns a ResultSet
>       END;});
>       my $sth2;
>       $sth1->bind_param_inout(1, \$sth2,0, {ora_type => ORA_RSET});
>       $sth1->execute();
>       my @output = $sth2->fetchrow();
>       
>       When I connect via the DBD::Proxy driver to the DB and run the
> script, I
>       get this error:
>       Can't locate object method "fetchrow" via package
> "DBI::ProxyServer::st" 
>       
>       When I DON'T use the DBD::Proxy and connect straight to the DB using
> the
>       Oracle driver, the "fetchrow" works. Does anyone have any idea why
> that
>       is? Seems like the return type of the object when returned via the
>       Proxy driver is "DBI::ProxyServer::st", while without the Proxy it
> is
>       just "DBI::st". Do I need to dereference the return value of the
>       DBI::ProxyServer handle to get the underlying DBI functionality? Or
> is
>       this a bug with the driver? 
>       
>       Any help would be appreciated.
>       Thanks,
>       Bhushan
>       

Reply via email to