测试部使用sqlldr入库的时候遇到一个奇怪的问题 ,明明字段长度是256,数据文件中的列长度也是256,却报Field in data file exceeds maximum length问题,后来试着将字段长度改成280\300\1300照样导不进去,觉得很奇怪
查询MOS找到了答案:
fix:
Change controlfile to define column as CHAR ('length')
SQL*Loader does not have the concept different character datatypes. Incoming
character data is assumed to be type char with a default length of 255. Thus,
if the character string in the source Data File is more than 255 characters you
will receive this error.
原来sqlldr引擎在检验数据文件的时候,遇到字符类型的时候,默认不能超过255,超过了就报错,如果想load超过255的字符,需要在控制文件中指明:
adress char(256),
可以看出sqlldr引擎的数据校验只是基于规则的校验,不会考虑实际表字段,这可能也是基于性能的一个考虑
本文介绍使用SQL*Loader导入数据时遇到的字符长度超过255导致的错误问题及解决方法。需要在控制文件中明确指定字符类型长度。
580

被折叠的 条评论
为什么被折叠?



