历史版本3 :填报常见报错代码 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 填报到 RAW(16) 字段提交失败编辑

1.1 问题描述

32 位十六进制数据(如GUID)填报到 RAW(16) 数据类型的字段时,报错ORA-12899: 列 "xxx"."xxx"."xxx" 的值太大 (实际值: 32, 最大值: 16),如下图所示:

screenshot-1.png

1.2 原因分析

32 位十六进制字符串插入 RAW(16) 时,需要使用 hextoraw() 进行转换,但是通用 SQL 不好判断数据库列是否是 RAW(16) 类型,故无法直接应用 hextoraw 进行转换。

1.3 解决方案

可以使用函数在入库前对需插入数据进行转换,所用函数可以通过自定义函数或者函数插件自定义,现提供一种自定义函数作为参考。自定义函数方法如下:

1)设计器菜单栏点击服务器>函数管理器,自定义一个函数,命名为transform,点击编辑按钮,输入 Java 代码,点击编译按钮,编译成功后保存即可,如下图所示:

1595316577757219.png

2)设置填报提交时,只需要将入库的值用公式转换下即可,如下图所示:

Snag_4b95e53.png