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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sqlldr 的输入文件中不存在的表中插入值?

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

flask_返回字节流错误

ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2

sqlserver中datetime怎样sqlldr加载到oracle