Kyle H
Kyle H

Reputation: 3303

Oracle DBMS_OUTPUT not returning anything if I call a specific procedure

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

Answers (1)

APC
APC

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

Related Questions