从unix系统在oracle中加载文本文件
我以下面的方式使文本文件包含字段。从unix系统在oracle中加载文本文件
"64252368","7489040","305762",
"64285217","8","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
请帮助我就可以了。
问题奠定了与“被终止,且字段的”引号”的数字的封装,“根本不剥去引号。
试试这个
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 ,'"', '')"
)
您需要改变你的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。
感谢Ben,当我试图在我的控制文件中使用封闭的时候,现在geeting低于错误。在TERMINATED和ENCLOSED字段后未找到终止符 – 2012-03-07 10:09:31
如果数据以逗号结尾,则使用TRAILING NULLCOLS。删除此行,如果它不... – Ben 2012-03-07 10:11:49
我的数据以逗号结尾。好心的建议我在这种情况下该怎么办? – 2012-03-07 10:23:40
好吧,那些只是数字,而是你应该使用本的解决方案。 – Benoit 2012-03-07 10:45:03
该问题仅适用于数字。 – GuZzie 2012-03-07 11:49:56