Hi All,
    I am probably trying to do something that cannot be done (in this
particular way atleast), but here goes:
Table t consists of 2 columns:
c1 number
c2 CLOB
Stored Proc (in a package) looks like:
PACKAGE BODY LIST_HELP IS
 FUNCTION FRETCUR (qparam in T.C1%TYPE)
 RETURN LIST_HELP.QCURSOR
 is
  c_pac LIST_HELP.QCURSOR;
 begin
  open c_pac for
   select *
   from t
   where c1 = qparam;
 return c_pac;
 close c_pac;
 end; --- there is more but it deals with another example/issue

Snip of Perl code:
my $func = $dbh->prepare(q{
   begin
   ? := LIST_HELP.FRETCUR(?);
  end;
}) or db_error("P");
$func->bind_param_inout(1, \$rv, 0, {ora_type => ORA_RSET});
$func->bind_param(2, '1', 5);
$func->execute or db_error("E");
@row = $rv->fetchrow_array;
for(@row) {
 print$i++ . " $_\n";
}
$re1 = ref($row[1]);
$re2 = ${$row[1]};
print"ref part: $re1\nderefed part $re2\n";
End Snip
Output:
0 1                                                                    #
$row[0] holds 1
1 OCILobLocatorPtr=SCALAR(0x1ddab58)  # $row[1] holds ?
ref part: OCILobLocatorPtr                              # result of taking
the ref
derefed part 82544828                                     # result of
dereferencing the ref

Question: (thanks for staying with me...)
What is:
OCILobLocatorPtr=SCALAR(0x1ddab58)
I had hoped to gain access to the CLOB through it. Is this possible?
TIA
David



Reply via email to