ORA-20000, ORU-10027: Buffer overflow, limit of <buf_limit> bytes

tolywang發表於2012-09-03
在執行一個stored procedure 的時候,因為使用了dbms_output ,  其中迴圈很多,buffer size 不足以快取得下,所以
報錯了。ORA-20000, ORU-10027: Buffer overflow, limit of bytes
 
 
當我們在輸出時,控制輸出結果的緩衝大小由DBMS_OUTPUT.ENABLE控制,buffer size預設為20000,每行最大的限制是32k。 所以當我們使用遊標進行輸出 時,如果結果很多,將會超過這個值報ORA-20000, ORU-10027: Buffer overflow, limit of bytes的錯誤

 解決方法:
在儲存過程begin後面加 : DBMS_OUTPUT.ENABLE (buffer_size=>null) 表示沒有限制
 
其他方式:
1.  set  serveroutput  on  size  10000000
2.  exec   dbms_output.enable(9999999999999) ;
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-742557/,如需轉載,請註明出處,否則將追究法律責任。

相關文章