历史版本3 :填报常见报错 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 填报到 RAW(16) 字段提交失败编辑
1.1 问题描述
32 位十六进制数据(如GUID)填报到 RAW(16) 数据类型的字段时,报错ORA-12899: 列 "xxx"."xxx"."xxx" 的值太大 (实际值: 32, 最大值: 16),如下图所示:
1.2 原因分析
32 位十六进制字符串插入 RAW(16) 时,需要使用 hextoraw() 进行转换,但是通用 SQL 不好判断数据库列是否是 RAW(16) 类型,故无法直接应用 hextoraw 进行转换。
1.3 解决方案
可以使用函数在入库前对需插入数据进行转换,所用函数可以通过自定义函数或者函数插件自定义,现提供一种自定义函数作为参考。自定义函数方法如下:
1)设计器菜单栏点击服务器>函数管理器,自定义一个函数,命名为transform,点击编辑按钮,输入 Java 代码,点击编译按钮,编译成功后保存即可,如下图所示:
2)设置填报提交时,只需要将入库的值用公式转换下即可,如下图所示: