[英]"Invalid table name" shows an error when import data from flat excel file into oracle database
我尝试将数据从平面 excel 文件导入 oracle 数据库,然后它显示错误为Invalid table name
。 这是下面的代码 -
OPTIONS (SKIP=1)
LOAD DATA INFILE 'C:\Users\Mo\abc.xlsx'
BADFILE 'C:\Users\Mo\abc.bad'
DISCARDFILE 'C:\Users\Mo\abc.dsc'
INSERT INTO TABLE dest_tbl
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(COL1, COL2, COL3, .....);
当我运行上面的代码时,它向我显示错误为Invalid table name
。 当我使用APPEND
而不是INSERT
时,它向我显示了不同的错误,因为missing SELECT keyword
。 能否请您调查一下这个问题,并请尝试帮助我解决这个问题。
正如所评论的,SQL*Loader 无法加载本机MS Excel 文件。 将其另存为 CSV 文件并设置分隔符(如分号)。 例如,我的test5.csv
文件的内容:
1;Little;Foot
2;Big;Foot
3;Shahin;P
目的地表:
SQL> desc dest_tbl
Name Null? Type
----------------------------------------- -------- ----------------------------
COL1 NUMBER
COL2 VARCHAR2(10)
COL3 VARCHAR2(10)
SQL>
控制文件( test5.ctl
):
load data
infile 'c:\temp\test5.csv'
replace
into table dest_tbl
fields terminated by ';' optionally enclosed by '"'
trailing nullcols
(col1,
col2,
col3
)
加载会话和结果:
SQL> $sqlldr scott/tiger test5.ctl log=test5.log
SQL*Loader: Release 11.2.0.2.0 - Production on Sri Lis 20 21:44:47 2021
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 2
Commit point reached - logical record count 3
SQL> select * from dest_tbl;
COL1 COL2 COL3
---------- ---------- ----------
1 Little Foot
2 Big Foot
3 Shahin P
SQL>
所以,如果你做对了,它就会起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.