Reputation: 3303
I have a PL/SQL block I'm running that looks something like this
BEGIN
dbms_output.put_line('11');
schema.some_package.process_data(i);
dbms_output.put_line('22');
END;
When I run this block, the DBMS Output returns absolutely nothing. If I comment out the process_data
procedure call, then it returns the 11, 22 as expected. The procedure is not raising any exceptions and appears to be processing correctly.
The process_data
procedure does call many other procedures and too much code to share here, but does anyone have suggestions as to what I should be looking for that would be clearing ALL queued output, even output called after the procedure in my block?
Upvotes: 1
Views: 2032
Reputation: 146349
The behaviour you describe would happen if something in your stack calls dbms_output.disable()
. That suppresses all output until you call dbms_output.enable()
.
Re-enabling output doesn't recover the suppressed output because disable()
purges the buffer as well as disabling subsequent calls to put_line()
, get_line()
, etc
Upvotes: 2