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