ORA-06502: PL/SQL: 数字或值错误:character string buffer too small

发布时间 2023-11-27 17:11:16作者: gz狗柱

原因是:

DBMS_LOB.SUBSTR(CLOB) 报错:超过缓存区长度

解决办法:

1、将自定义函数中的字符数参数设置为更大的数字(最大32767)。注意,这一设置和Oracle的版本有关系(Oracle 10 最大为4000, Oracle 12 可达32767)

2、如果是拼接的字段来源是子表,那么就不在原sql中查对应字段,而是在后台JAVA中去查子表sql,然后将其与原sql数据进行拼接,把报错的字段的数据set进去