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的,均添加该设定,以防出现错误。

你可能感兴趣的:(ORACLE数据库,Oracle,shell)