sqlldr: ield in data file exceeds maximum length in sqlldr datafile.

本文介绍了解决使用SQL*Loader加载数据时遇到的长字段错误问题。具体表现为数据文件中的字段长度超过表中定义的最大长度。通过修改控制文件中的字段长度设置,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Find the error from log file:

Record 1: Rejected - Error on table JPA, column FIELD4.
Field in data file exceeds maximum length
Record 2: Rejected - Error on table JPA, column FIELD4.
Field in data file exceeds maximum length

This is caused by ading long,clob,blog columns using sqlldr,the following error is reported:

SQL> desc jpa
Name Null? Type
----------------------------------------- -------- ----------------------------
UUID NOT NULL VARCHAR2(100)
FIELD1 NOT NULL VARCHAR2(100)
FIELD2 NOT NULL VARCHAR2(100)
FIELD3 VARCHAR2(4000)
FIELD4 CLOB
FIELD5 NUMBER(20)
FIELD6 VARCHAR2(100)
FIELD7 NOT NULL NUMBER(20)
FIELD8 NUMBER(3)

Modify the control file and add char(2000) to the columns.

$ more jpa.ctl
OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=1)
LOAD DATA
INFILE '/opt/app/oracle/henry/pv/jpa_data.csv'
APPEND INTO TABLE Jpa
FIELDS TERMINATED BY ',' Optionally enclosed by '"' TRAILING NULLCOLS
(
uuid,
field1,
field2,
field3 char(1000),
field4 char(2000),
field5,
field6,
field7,
field8
)

Then it works well.

In the control file I did not specificy the column longth with char(n) where n is an integer. The default will work in most time but this times it caused the issue.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值