ora-64203 怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ora-64203 怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A ORA-64203错误, 可以通过分块再拼接的方式来解决。

可参考如下:

使用to_char(wm_concat(item))的时候报ORA-64203错误
出错原因:由于concat的item项目太多,导致合成后的字符串长度超出数据库char字段的缓冲区限制

通过DBMS_LOB.SUBSTR把wm_concat(item)分成10块,取到后再拼接起来

Sql代码
DBMS_LOB.SUBSTR(wm_concat(item),1000,1),
DBMS_LOB.SUBSTR(wm_concat(item),1000,1001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,2001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,3001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,4001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,5001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,6001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,7001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,8001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,9001),
DBMS_LOB.SUBSTR(wm_concat(item),1000,10001)

或者直接在oracle中用||连接起来,直接返回

Sql代码
DBMS_LOB.SUBSTR(wm_concat(item),1000,1) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,1001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,2001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,3001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,4001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,5001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,6001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,7001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,8001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,9001) ||
DBMS_LOB.SUBSTR(wm_concat(item),1000,10001)
参考技术B ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据。

字符串长度超出数据库栏位缓冲区限制, 修改缓冲区,或者调整栏位长度。

以上是关于ora-64203 怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

java.sql.SQLException: ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据

网页乱码怎么解决?

机器Session总是过期 怎么解决?

机器Session总是过期 怎么解决?

Nginx遇上Access Denied提示怎么解决

这个dos乱码怎么解决啊先谢谢了