繁体   English   中英

将数据从平面 excel 文件导入 oracle 数据库时,“无效的表名”显示错误

[英]"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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM