我正在尝试使用sql ldr-
将数据上传到表中sqlldr userid=aa2012/uaxiqdz@ADB control=simple.ctl
simple.ctl: -
LOAD DATA
INFILE '../data/simple.csv'
BADFILE '../data/simple.bad'
DISCARDFILE '../data/simple.dsc'
INTO TABLE SIMPLE_TAB
replace
fields terminated by ',' optionally enclosed by '"'
(
ID INTEGER
EXTERNAL,
NAME CHAR(32)
)
simple.csv有两列:1st-number 2nd Name。
create table Simple_Tab (
id number primary key,
name varchar2(32)
)
但是我收到以下错误 -
SQL * Loader:版本10.2.0.1.0 - 生产于12月4日星期六22:43:55
版权所有(c)1982,2005,Oracle。所有 保留权利。
SQL * Loader-941:描述期间出错 表SIMPLE_TAB ORA-04043:对象 SIMPLE_TAB不存在
我试过了 -
但没人帮忙。
答案 0 :(得分:1)
当您运行create table
语句时,您可能已连接到其他数据库(或用户)。
select user from dual;
在SQL * Plus中运行时显示的内容(例如,在运行create table
之后/之前)
答案 1 :(得分:0)
今天有同样的问题。就我而言,我认为表名是tblname
,实际上它是"tblname"
(带引号)。
我也使用SQL Developer,而Schema浏览器显示表名为tblname
,这让我很愚蠢。只有当我使用拖放实用程序从此表创建一个select命令时,我才看到表名实际上包含引号。
答案 2 :(得分:0)
当您不使用架构名称限定控制文件中的表名时,可能会发生另外一个原因。
因此,如果您的表位于模式scott
中并且您的表名不符合此条件,那么当您使用scott
以外的登录用户时,Sqlldr会抱怨。