too*_*oop 1 sql database oracle plsql
我经常得到这个错误(这太烦人了!):
错误报告:ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小ORA-06512:第305行06502. 00000 - "PL/SQL:数字或值错误%s"
示例存储过程循环遍历游标(具有大约10k行),执行某些逻辑,然后使用dbms_output.put_line将每条记录打印到'Script Output'Oracle SQL Developer中的选项卡.
有没有办法清除缓冲区或防止出现此错误(并中止其余的proc)?
如果可以的话,我可以使用它Mod function来清除缓冲区,每10行处理一次.
我不相信这个错误与DBMS_OUTPUT缓冲区大小有关,因为其他答案暗示.如果溢出该缓冲区,则得到的错误应为"ORA-20000:ORU-10027:缓冲区溢出,#####字节的限制".
此错误通常意味着PL/SQL字符串变量太小而无法保存分配给它的某个值.如果您传递的值大于它可以处理的值,则这可能是DBMS_OUTPUT的内部.但是你的堆栈跟踪现在会在堆栈中显示DBMS_OUTPUT,所以我认为情况并非如此.错误似乎发生在您的过程的第305行.它有什么作用?如果它是一个赋值,则可能需要以更大的大小声明变量begin assigned.
| 归档时间: |
|
| 查看次数: |
2229 次 |
| 最近记录: |