SQL ローダー制御ファイルがあります。
LOAD DATA
INFILE 'test.txt'
INTO TABLE TEST replace
fields terminated "|" optionally enclosed by '"' TRAILING NULLCOLS
( DOCUMENTID INTEGER(10),
CUSTID INTEGER(10),
USERID INTEGER(10),
FILENAME VARCHAR(255),
LABEL VARCHAR(50),
DESCRIPTION VARCHAR(2000),
POSTDATE DATE "YYYY-MM-DD HH24:MI:SS" NULLIF POSTDATE="",
USERFILENAME VARCHAR(50),
STORAGEPATH VARCHAR(255)
)
SQLローダーを実行するとエラーが発生します。
Record 1: Rejected - Error on table TEST, column FILENAME.
Variable length field exceeds maximum length.
これがその行です..その列の長さは255をはるかに下回っています..
1|5001572|2|/Storage/Test/5001572/test.pdf|test.pdf||2005-01-13 11:47:49||
そして、これがログファイル内で気付いた奇妙な点です
Column Name | Position | Len | Term | Encl | Datatype
FILENAME | NEXT | 257 | | | VARCHAR
テーブルと制御ファイルの両方で、長さを 255 と定義しています。それでも、ログはそれを 257 として吐き出しますか? 制御ファイルの長さを 253 に減らしてみたので、ログ ファイルでは 255 と表示されますが、同じ問題です。
何か助けはありますか?これは2日間私を悩ませています。
ありがとう。