2、使用sqlloader的步骤(举例说明)
现有excel表:person
Name sex age
姓名1男12
姓名2女13
…….
姓名10000男1234
现要将此excel数据插入到172.17.43.32服务器,数据库名为orcl,名为cs密码为123的用户下,且此用户下无person表。
(1)将excel表转换成csv或txt格式的表(这是因为oracle的规定,只能转这两种类型的文档) 转换就只需要打开文档后另存时,改为这两种格式就可以了。现假设已有了person.csv数据文档,且放在D盘。
注意:在转成csv格式时,要检查数据是否改变;如7E3就会变成7.00E+03(就是7000)
在导入数据库后,也会变成7.00E+03;像这种情况,就只有到数据库去亲自改了。
(2)连接远程数据库172.17.43.32的数据库,在里面创建person的空表。(至于怎么建就看自己的了,但要注意需要id自增主键的,要建id自增序列和触发器);现假设远程数据库已有了这个person表。
Id varchar2(30)
Name varchar2(30)
Sex vachar2(4)
Age number
(3)再些控制文件;先举例子,详细说明下面再说;控制文件名为person.ctl(主要是创建这个文件)
options(skip=1)
load data
infile "D:\person.csv"
append
into tableperson
fields terminated by ","
optionally enclosed by '"'
trailing nullcols
(
name ,
sex ,
age ,
)
将控制文件放在D盘。
(4)调用sqlloader工具,sqlloader的导入工具名叫sqlldr.exe
第一步:打开dos命令;
第二步:输入D: 转到D盘D:\>
第三步:输入sqlldr cs/123@orcl control=person.ctl (如:sqlldrhis/his@his[注意这里是数据库名称,不是orcl<服务名>] control=person.ctl)回车
注意:第三步必须有一个前提: 就是在oracle的net manager将172.17.43.32的orcl数据库添入到本地的服务命名里来。
(5)到远程数据库里去查看person表的内容,看是否已全导入(这里有10000条)。
posted on 2012-04-10 14:32
wilsonyq 阅读(716)
评论(0) 编辑 收藏