Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> DBMS_OUTPUT Package
I am writing some PL/SQL procedures (within a package) that use the
DBMS_OUTPUT package. These procedures use an outer join cursor and some brute
force to compare the column values of corresponding rows in identically
structured tables. If any diffrences are found, DBMS_OUTPUT.PUT_LINE is used
to note the differences.
Occasionally, if there are alot of differences (i.e. alot of output), I'll get messages like the following.
ERROR at line 1: ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: at "SYS.DBMS_OUTPUT", line 100 ORA-06512: at "SYS.DBMS_OUTPUT", line 59 ORA-06512: at "AODBA.SIDD", line 639 ORA-06512: at line 2
In an attempt to overcome this situation, I've done the following for each output request in an attempt to keep from overflowing the buffer.
DBMS_OUTPUT.DISABLE; DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUT_LINE('some output');
This doesn't help, is probably inefficient and may be a misuse of the intended purpose of both the DISBLE and ENABLE procedures. Is the DBMS_OUTPUT package a good alternative for "external" communications (i.e. to a file or a human) if a significant volume of output is possible? Being a relative PL/SQL newbie, I'd appreciate any advice.
+=========================+====================================+Received on Thu Mar 16 1995 - 17:49:19 CST
| Rick Wiggins | |
| Lead Software Developer | Voice: (910)379-5507 |
| AT&T HRISO | FAX: (910)379-5981 |
| Room 1553 | Internet: jwiggins_at_hrfocus!att!com |
| 3330 W. Friendly Ave. | Compu$erve: 71673,1235 |
| Greensboro, NC 27410 | |
+=========================+====================================+