احمد رضا
احمد رضا
خواندن ۱ دقیقه·۳ سال پیش

حل مشکل خطای در buffer overflow, limit of در اوراکل

سلام

امکان دارد به خاطر محدودیت های پیش فرض در بافر نسخه های مختلف اوراکل هنگام اجرای stored procedure یا پکیج DBMS_OUTPUT با خطای زیر مواجه بشوید :

> ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: at &quotSYS.DBMS_OUTPUT&quot, line 32 ORA-06512: at &quotSYS.DBMS_OUTPUT&quot, line 97 ORA-06512: at &quotSYS.DBMS_OUTPUT&quot, line 112 ORA-06512: at line 488
نمونه خطا سر ریز بافر هنگام اجرا
نمونه خطا سر ریز بافر هنگام اجرا

همان طور که در متن خطا مشخص هست buffer overflow رخ داده است برای حل این مشکل می توانید بافر پیش فرض را با دستورات زیر تغییر دهید و سپس کوئری خود را اجرا کنید.

dbms_output.enable(30000);

می توانید از null هم استفاده کنید:

dbms_output.enable(null);

پ ن: بهتر است قبل از اجرای کوئری بافر را تغییر دهید.

DECLARE v_ret VARCHAR2 ( 30000 ); BEGIN dbms_output.enable(null); DBMS_OUTPUT.PUT_LINE('071291537501:'||Sell.FN_TopRangeSellingh(14010310,8566231458936)); END;

بعد اجرای کوئری به همراه تغییر دستی بافر مشکل رفع شده و خروجی بدون خطا نمایش داده می شود.


اوراکلدیتابیسoracle
شاید از این پست‌ها خوشتان بیاید