1. ホーム
  2. データベース

データファイルのsqlldrフィールドが最大長を超えています。

2022-03-18 08:19:30

sqlldr 导入时报如下错误。

レコード 1: 拒否されました - INFOBASE テーブルの CONTENT カラムにエラーがあります。



データファイルのフィールドが最大長を超えている



レコード 2: 拒否されました - INFOBASE テーブルの CONTENT カラムにエラーがあります。



データファイルのフィールドが最大長を超えている







我的控制文件为

(&QDate,&QTime)
DataTime::fromString(QString)

表定义为

CONTENT字段为varchar2(4000char)

解决

控制文件修改为

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
FELDER, DIE MIT ',' ABGESCHLOSSEN SIND
NACHGESTELLTE NULLCOLS
(sms_id,
kategorie_id,
bereiche_id,
sms_type,
Inhalt char(20000)
)