Good morning,
I encounter a problem with DBMS_OUTPUT_enable.
In 10gR2, you can have an unlimited buffer size
Oracle doc :
buffer_size :
Upper limit, in bytes, the amount of buffered information. Setting
buffer_size to NULL specifies that there should be no limit.
But if I use :
DBI->trace(2);
$dbh->func('NULL', 'dbms_output_enable');
I got :
-> execute for DBD::Oracle::st (DBI::st=HASH(0x851f464)~0x8653d80
'NULL') thr#80625e8
bind :p1 <== 'NULL' (type 0)
bind :p1 <== 'NULL' (size 4/5/0, ptype 4, otype 1)
dbd_st_execute BEGIN (out0, lob0)...
!! ERROR: 6502 'ORA-06502: PL/SQL: numeric or value error:
character to number conversion error
ORA-06512: at line 1 (DBD ERROR: OCIStmtExecute)' (err#0)
<- execute= undef at DBI.pm line 1411
-> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x8653d80)~INNER)
thr#80625e8
ERROR: 6502 'ORA-06502: PL/SQL: numeric or value error:
character to number conversion error
ORA-06512: at line 1 (DBD ERROR: OCIStmtExecute)' (err#0)
if I use $dbh->func(undef, 'dbms_output_enable');
It 's use the default buffer : 20000
1 -> do in DBD::_::db for DBD::Oracle::db
(DBI::db=HASH(0x851f404)~INNER 'begin dbms_output.enable(:1); end;'
undef 20000) thr#80625e8
2 -> prepare for DBD::Oracle::db (DBI::db=HASH(0x851f404)~INNER
'begin dbms_output.enable(:1); end;' undef) thr#80625e8
dbd_preparse scanned 1 distinct placeholders
2 <- prepare= DBI::st=HASH(0x851f518) at DBI.pm line 1410
-> execute for DBD::Oracle::st (DBI::st=HASH(0x851f518)~0x8653ec8
20000) thr#80625e8
bind :p1 <== 20000 (type 0)
bind :p1 <== 20000 (size 5/6/0, ptype 5, otype 1)
Is there a way to specified a null size ?
P.S : I use:
DBD::Oracle : 1.15
DBI : 1.42