我的文字文件包含以下方式的字段。
"64252368","7489040","305762",
"64285217","12132108","787341",
我正在使用以下控制文件。
OPTIONS (SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY '",'
(
LEARNEVENT_ID,
ORGANIZATION,
COURSE_ID
)
但是,我收到了错误:
Record 1: Rejected - Error on table test_table, column LEARNEVENT_ID
ORA-01722: invalid number
请帮助我。
答案 0 :(得分:2)
您需要更改ctl文件以包含OPTIONALLY ENCLOSED BY
选项。
OPTIONS (SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
(
LEARNEVENT_ID,
ORGANIZATION,
COURSE_ID
)
我建议在reading上使用SQL*Loader。
答案 1 :(得分:0)
问题在于用引号“”封装数字,而你的字段以'“结尾,”根本不会删除引号。
试试这个
OPTIONS(SKIP=1)
LOAD DATA
TRUNCATE INTO TABLE test_table
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
LEARNEVENT_ID "replace ( :LEARNEVENT_ID ,'"', '')",
ORGINAZATION "replace ( :ORGINAZATION ,'"', '')",
COURSE_ID "replace ( :COURSE_ID ,'"', '')"
)