我有一个SQL Loader控制文件,
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 Loader上运行时,它给了我一个错误,
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,但结果相同。
需要帮助吗?这让我苦恼了两天。
谢谢。