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