Oracle 从SQL*加载程序加载时,标识符太长

Oracle 从SQL*加载程序加载时,标识符太长,oracle,sql-loader,Oracle,Sql Loader,我有一个这样的桌子结构 CREATE TABLE acn_scr_upload_header ( FILE_RECORD_DESCRIPTOR varchar2(5) NOT NULL, schedule_no Number(10) NOT NULL, upld_time_stamp Date NOT NULL, seq_no number NOT NU

我有一个这样的桌子结构

CREATE TABLE  acn_scr_upload_header
(
FILE_RECORD_DESCRIPTOR    varchar2(5)    NOT NULL,
schedule_no               Number(10)     NOT NULL,
upld_time_stamp           Date           NOT NULL,
seq_no                    number         NOT NULL,
filename            varchar2(100)  ,
schedule_date_time        Date      
);
当我试图通过SQL*Loader加载我的文件时,我在filename列中得到一个关于这个值的错误:Stock\u Count\u Request\u 01122014010101.csv。错误是:

Error on table ACN_SCR_UPLOAD_HEADER, column FILENAME.  
ORA-00972: identifier is too long".
如果我尝试使用insert语句将相同的值插入到表中,效果很好

我的数据文件Stock\u Count\u Request\u 01122014010101.csv如下所示

FHEAD,1,12345,20141103
FDETL,7,100,W,20141231,SC100,B,N,1,5
FTAIL,8,6
和控制文件

LOAD DATA
INFILE '$IN_DIR/$FILENAME'
APPEND
INTO TABLE ACN_SCR_UPLOAD_HEADER
WHEN FILE_RECORD_DESCRIPTOR = 'FHEAD'
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(
FILE_RECORD_DESCRIPTOR position(1),
LINE_NO FILLER,
schedule_no ,
schedule_date_time,
upld_time_stamp                sysdate,
seq_no  "TJX_STOCK_COUNT_REQ_UPLD_SEQ.NEXTVAL",
FILENAME     constant ""
)

您的ctl文件和数据是什么样子的?失败的记录应该在某个错误的文件中。这是完整的记录,因为问题可能很容易像放错分隔符一样。请用信息回答您的问题,并且您没有在文件名中输入任何数据,因此我很困惑您是如何得到问题中的值的。