ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据
线上遇到bug,日志显示错误ORA-64203: Destination buffer too small to hold CLOB data after character set conversion,目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据。
sql如下:
select to_char(rtrim(substr(xmlagg(xmlparse(content zy || ',' wellformed) order by zy).getclobval(),0,4000),','))
from UT_CW_KMMXZ
sql中使用 xmlagg拼接字符串,xmlagg(xmlparse(content 内容 || ',' wellformed) order by 字段).getclobval(),没有问题。
问题出在to_char()函数,to_char()转换字符串时最大长度为4000,但是zy字段中包含中文,生产数据库字符集为UTF-8,通过查询中文占用的字节长度得知1个汉字占用3个字节,substr截取4000个字符中包含汉字,长度大于4000,因此报错。
SQL> SELECT LENGTH('您好') FROM DUAL;LENGTH('您好')
--------------2SQL> SELECT LENGTHB('您好') FROM DUAL;LENGTHB('您好')
---------------6
修改为substr截取1300个字符,to_char()转换时正常,问题解决!
select to_char(rtrim(substr(xmlagg(xmlparse(content zy || ',' wellformed) order by zy).getclobval(),0,1300),','))
from UT_CW_KMMXZ
ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据相关推荐
- ORA-64203: 目标缓冲区太小, 无法容纳字符集转换之后的 CLOB 数据。
报错原因:在网上查询了一下,应该是由于content字段是clob字段,字符长度超过了char类型的缓冲区最大限制,所以才报错的. 解决方法:通过dbms_lob.substr 函数取出子串,然后通过 ...
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
1.今天写的存储过程在执行过程中,报如下错误. exec PRO_T_008pro_update_add_delete(17,1,1,1,1,45.0,54.0,45.0,45.0,45.0,54.0 ...
- Oracle bug 使用max或min函数into到一个char类型报字符缓冲区太小的错误
这个BUG出现会报错如下: selectto_char(max(RENEWAL_DATE)) intoM_YEAR_MONTH fromt_renewal_schedule; ORA-06502: P ...
- 生成awr报告时报ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
生成awr报告时报错: ERROR: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSI ...
- 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 参考文章: (1)也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符 ...
- recv发送失败 缓冲区太小_从 GFS 失败的架构设计来看一致性的重要性
作者简介 陈东明,饿了么北京技术中心架构组负责人,负责饿了么的产品线架构设计以及饿了么基础架 构研发工作.曾任百度架构师,负责百度即时通讯产品的架构设计.具有丰富的大规模系统构 建和基础架构的研发经验 ...
- 字符串缓冲区太小怎么解决_epoll的两种模式 ET和LT printf的缓冲区问题 边缘非阻塞模式...
学习于:https://www.bilibili.com/video/av44660437/?p=9 前文:何柄融:多路复用I/O select poll epoll 何柄融:select poll ...
- vm_comcat报错 - 数字或值错误 : 字符串缓冲区太小
之前一直纠结怎么修改缓存,后来搜索11g wm_concat ,才知道是版本不对. 11.2.0.3版本可以将varchar2转换成clob.
- clobzh字符串缓冲区太小的解决方法_用4K屏玩LOL英雄联盟游戏指针太小解决方法已找到...
换了4K屏后玩LOL指针过小,游戏内可调指针大小根本没用,感觉游戏都不会打了,琢磨好久找到一个可行的方法给大家分享一下 找到游戏文件→右键游戏图标属性→兼容性→更改高DPI设置→勾选替代高DPI缩放行 ...
最新文章
- 类中成员函数声明后面的const的含义
- CentOS7——卡在在启动界面
- [转]Android 代码混淆和加固 so库 简单教你一行代码实现
- 003-JavaString数据类型
- 2016年第12本:成功就靠专注一件事
- mysql批量取消多行sql_mysql批量删除指定前缀的表,批量修改表名的SQL语句
- php删除图片按钮代码,jquery 按钮预览图片功能的代码,我看不太懂。应该怎么学...
- Python是最好的编程语言,Locust是最好的压测工具,不服来辩!
- java获取汉字的拼音首字母_java获取汉字的拼音首字母
- Mac技巧:如何使用macOS Big Sur中“通知中心”的小组件?
- 导入项目时遇到的plugin with id com.android.application not found问题解决方案
- 从零开始设计RISC-V处理器——指令系统
- node.js 刷csdn博客访问量
- 运放TL08系列,功放LM386,8欧姆的扬声器
- 互联网/计算机 校园招聘信息大全!
- 信号与系统—让我们来了解信号
- vue实现刷新页面随机切换背景图【适用于登陆界面】
- 朱有鹏老师linux核心大讲堂---ARM裸机第十一部分 NandFlash和iNand学习笔记
- 了解公司企业:Intuit
- LoadCursor 函数