分录转换规则匹配字段配置太多,导致对应关系保存报错,提示目标缓冲区太小,无法容纳字符集转换之后的数据
**需求背景:**
二开单据配置botp规则时,由于分录转换规则配置的字段过多,导致再保存规则的时候,提示目标缓冲区太小,无法容纳字符集转换之后的数据
![2.webp](/download/0100710bee45d8574778850f7e24d30ed9ca.webp)
**解决思路:** 1、由于配置的规则都会存储到T_BOT_MAPPING表中FEXTCONFIG字段中,所以我们先通过sql语句 select * from KSQL_USERCOLUMNS where KSQL_COL_NAME = 'FEXTCONFIG' 查看FEXTCONFIG字段的字段类型为varchar2类型,长度为4000 ![3.webp](/download/0100456768afe4bf4d308909ce7aa4275899.webp)
2、报错提示:目标缓冲区太小,无法容纳字符集转换之后的数据,通过查看日志发现转换规则的额外配置长度超过了4000,所以需要考虑存储更大的clob类型。(即:将FEXTCONFIG字段的字段类型由varchar2更改为clob) 操作步骤如下: 1)拷贝一份T_BOT_MAPPING,生成备份表 T_BOT_MAPPING_1112 select * into T_BOT_MAPPING_1112 from T_BOT_MAPPING 2)查看备份表 T_BOT_MAPPING_1112中是否已有T_BOT_MAPPING表中的数据 select * from T_BOT_MAPPING_1112 3)向T_BOT_MAPPING表中添加类型为clob类型的FEXTCONFIG1字段 alter table T_BOT_MAPPING add (FEXTCONFIG1 clob) 4)将T_BOT_MAPPING表中FEXTCONFIG字段的数据拷贝一份到FEXTCONFIG1字段中 UPDATE T_BOT_MAPPING SET FEXTCONFIG1 = FEXTCONFIG 5)将T_BOT_MAPPING表中的FEXTCONFIG字段删除 alter table T_BOT_MAPPING drop column FEXTCONFIG 6)向T_BOT_MAPPING表中添加类型为clob类型的FEXTCONFIG字段 (`提示:上一步的删除和这一步的添加,目的是为了更新FEXTCONFIG字段的数据类型`) alter table T_BOT_MAPPING add (FEXTCONFIG clob) 7)将T_BOT_MAPPING表中FEXTCONFIG1字段的数据拷贝一份到FEXTCONFIG字段中 (`这样就达到了将FEXTCONFIG字段数据类型给更新了,同时恢复之前的数据`) UPDATE T_BOT_MAPPING SET FEXTCONFIG = FEXTCONFIG1 8)将T_BOT_MAPPING表中的FEXTCONFIG1字段删除 alter table T_BOT_MAPPING drop column FEXTCONFIG1 9)`请在确保测试无误之后再删除备份表`(当然也可以不删除) drop TABLE T_BOT_MAPPING_1112
**解决思路:** 1、由于配置的规则都会存储到T_BOT_MAPPING表中FEXTCONFIG字段中,所以我们先通过sql语句 select * from KSQL_USERCOLUMNS where KSQL_COL_NAME = 'FEXTCONFIG' 查看FEXTCONFIG字段的字段类型为varchar2类型,长度为4000 ![3.webp](/download/0100456768afe4bf4d308909ce7aa4275899.webp)
2、报错提示:目标缓冲区太小,无法容纳字符集转换之后的数据,通过查看日志发现转换规则的额外配置长度超过了4000,所以需要考虑存储更大的clob类型。(即:将FEXTCONFIG字段的字段类型由varchar2更改为clob) 操作步骤如下: 1)拷贝一份T_BOT_MAPPING,生成备份表 T_BOT_MAPPING_1112 select * into T_BOT_MAPPING_1112 from T_BOT_MAPPING 2)查看备份表 T_BOT_MAPPING_1112中是否已有T_BOT_MAPPING表中的数据 select * from T_BOT_MAPPING_1112 3)向T_BOT_MAPPING表中添加类型为clob类型的FEXTCONFIG1字段 alter table T_BOT_MAPPING add (FEXTCONFIG1 clob) 4)将T_BOT_MAPPING表中FEXTCONFIG字段的数据拷贝一份到FEXTCONFIG1字段中 UPDATE T_BOT_MAPPING SET FEXTCONFIG1 = FEXTCONFIG 5)将T_BOT_MAPPING表中的FEXTCONFIG字段删除 alter table T_BOT_MAPPING drop column FEXTCONFIG 6)向T_BOT_MAPPING表中添加类型为clob类型的FEXTCONFIG字段 (`提示:上一步的删除和这一步的添加,目的是为了更新FEXTCONFIG字段的数据类型`) alter table T_BOT_MAPPING add (FEXTCONFIG clob) 7)将T_BOT_MAPPING表中FEXTCONFIG1字段的数据拷贝一份到FEXTCONFIG字段中 (`这样就达到了将FEXTCONFIG字段数据类型给更新了,同时恢复之前的数据`) UPDATE T_BOT_MAPPING SET FEXTCONFIG = FEXTCONFIG1 8)将T_BOT_MAPPING表中的FEXTCONFIG1字段删除 alter table T_BOT_MAPPING drop column FEXTCONFIG1 9)`请在确保测试无误之后再删除备份表`(当然也可以不删除) drop TABLE T_BOT_MAPPING_1112
分录转换规则匹配字段配置太多,导致对应关系保存报错,提示目标缓冲区太小,无法容纳字符集转换之后的数据
**需求背景:** 二开单据配置botp规则时,由于分录转换规则配置的字段过多,导致再保存规则的时候,提示目标缓冲区太小,无法容纳字...
点击下载文档
本文2024-09-16 22:17:50发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-47233.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章