sqlldr错误:field in data file exceeds maximum length
Posted wenxuechaozhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlldr错误:field in data file exceeds maximum length相关的知识,希望对你有一定的参考价值。
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件(数据)迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。
在使用sqlldr的过程中,出现如下报错信息
Record 1: Rejected - Error on table wenxuechao, column name.Field in data file exceeds maximum length
首先检查对应表,比如本例子中的wenxuechao表,是否字段name设定长度较小导致数据无法插入。如果是该问题导致,可扩大表的字段长度即可。若表字段长度,没有问题,则是控制文件需要制定长度大小,是sqlldr的限制导致错误信息。
解决方案:
控制文件CTL中,默认的字段为char型,且长度默认为255,若sqlldr导入的数据中超过了255,无论数据库中字段长度设定多大,依然会报错。因此需要将报错的字段添加长度,即:
name char(512)
长度按照实际表字段设定即可。
扩展:
建议在使用sqlldr过程中,若在字段长度超过255的,均添加该设定,以防出现错误。
以上是关于sqlldr错误:field in data file exceeds maximum length的主要内容,如果未能解决你的问题,请参考以下文章
pandasError tokenizing data. C error: Expected 6 fields in line 3, saw 9
pandasError tokenizing data. C error: Expected 6 fields in line 3, saw 9
ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2