Sql-Loader实现excel数据导入oracle相关问题
我想把excel数据导入oracle中,oracle服务器是AIX系统
1.首先利用pl/sql在oracle数据库中创建了表
create table tantest
(
aid VARCHAR2(20) not null,
aname VARCHAR2(20),
adept VARCHAR2(50),
apost VARCHAR2(50),
aworkday VARCHAR2(10),
aweek VARCHAR2(10),
amonth VARCHAR2(10),
atotal VARCHAR2(10),
amlevel VARCHAR2(10),
amnum VARCHAR2(10),
anlevel VARCHAR2(10),
annum VARCHAR2(10),
afinaltotal VARCHAR2(10),
afinaltotalb VARCHAR2(10),
afinaltotalc VARCHAR2(10)
)
2.然后新建excel文件,内容如下:
然后将该excel文件另存为tantest.csv
3.创建input.ctl文件,内容为
load data
infile '/tantest.csv'
append into table HR_ASSESS fields terminated by ','
trailing nullcols
(aid,aname,adept,apost,aworkday,aweek,amonth,atotal,amlevel,amnum,anlevel,annum,afinaltotal,afinaltotalb,afinaltotalc)
4.然后在我电脑(win7系统)命令行下输入命令:sqlldr userid=user1/password@netservice control=input.ctl
问题:tantest.csv和input.ctl这两个文件要上传至oracle服务器,请问要传到哪个目录下,该命令才能正常执行,oracle服务器是AIX系统
[解决办法]
不管这两个文件传到哪个目录下,
命令行下输入命令:sqlldr userid=user1/password@netservice control=控制文件的全路径,
另外,控制文件中的数据文件路径 infile '/tantest.csv' 也应是指到对应的数据文件全路径
[解决办法]
放到服务器目录不对吧,这个应该是放到本地的,就像imp一样,是客户端命令
[解决办法]
1、你连接服务器是通过windows的客户端连接的,所以你是通过客户端导数据,因为有两个问题你要注意:
A、你必须要有权限导数据
B、你再导入数据的时候,在客户端执行的时候,你默认的目录是在哪里,你的对应文件就要放在那里,否则,你的文件就要制定存放路径来执行如: “D:\XXXXXX.ctl”
[解决办法]