sqlldr Field in data file exceeds maximum length

sqlldr 导入时报如下错误:

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

我的控制文件为

OPTIONS ( DIRECT=TRUE)
LOAD DATA
INFILE '/u/oracle/cdrd/sms_data/hebei_yd/hb_yd_sms_content.txt'
BADFILE '/u/oracle/sqlldr/log/hebei_yd/hb_yd_sms_content.bad'
DISCARDFILE '/u/oracle/sqlldr/log/hebei_yd/hb_yd_sms_content.dsc'
INTO TABLE "ETL"."HB_YD_SMS_CONTENT"
TRUNCATE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(sms_id,
category_id,
areas_id,
sms_type,
content )

表定义为:

CONTENT字段为varchar2(4000 char)

解决:

控制文件修改为:

OPTIONS ( DIRECT=TRUE)
LOAD DATA
INFILE '/u/oracle/cdrd/sms_data/hebei_yd/hb_yd_sms_content.txt'
BADFILE '/u/oracle/sqlldr/log/hebei_yd/hb_yd_sms_content.bad'
DISCARDFILE '/u/oracle/sqlldr/log/hebei_yd/hb_yd_sms_content.dsc'
INTO TABLE "ETL"."HB_YD_SMS_CONTENT"
TRUNCATE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(sms_id,
category_id,
areas_id,
sms_type,
content char(20000)
)

请使用浏览器的分享功能分享到微信等