1. ホーム
  2. オラクル

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

2022-03-18 12:21:02

テーブルの作成

create table objects(
owner varchar2(30),
object_name varchar2(50),
object_id number,
status varchar2(10),
created date);

制御ファイル

LOAD DATA
INFILE ldr_object.csv
TRUNCATE INTO TABLE OBJECTS
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(owner,
object_name,
object_id,
created date 'yyyy-mm-dd hh24:mi:ss',
status )

ロード後、タイトルのようなエラーが表示されます。

元のテーブルで定義されているフィールドのステータスはVARCHAR(10)なんですけどね。

        が、コントロールファイル(CTL)ではcharがデフォルトになっています。

        そのため、カラムのデータ長が255(char型の長さ)を超えると、エラーになります。

データファイルとコントロールファイルの両方をchar型に変更するだけです。