sqlldr时候Field in data file exceeds maximum length

测试部使用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引擎的数据校验只是基于规则的校验,不会考虑实际表字段,这可能也是基于性能的一个考虑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值