Hi,
I am calling a stored procedure that returns ref cursor from perl. But
it fails with the following error,
DBD::Oracle::st execute failed: ( DBD ERROR: LOB refetch attempted for
unsupported statement type )
I searched for this error, and all the results show how to read a CLOB
return type but not a ref cursor. Any help is much appreciated.
Here's my perl code,
sub run_proc{
...
...
...
$sth->bind_param_inout(":p1", \$args->[0],length($args->[0]), {
ora_type => ORA_CLOB});
$sth->bind_param_inout(":p2", \$args->[1],length($args->[1]));
$sth->bind_param_inout(":p3", \$args->[2],1);
$sth->bind_param_inout(":p4", \$res,0,{ ora_type => ORA_RSET});
$sth->execute();
}
And the stored procedure looks like,
PROCEDURE p_search_eol_data(
pid_string IN CLOB,
where_clause IN VARCHAR2,
role_flag IN NUMBER,
results OUT searchCursor)
IS
queryString LONG;
BEGIN
queryString := '';/* dynamic query */
open results for queryString;
END;
Thanks,
Shobha Deepthi V