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

Reply via email to