Oracle使用sqlldr导入多文件到多个表
比如,有几个表的数据文件a.csv,b.csv。。。需要分别导入a表,b表。。。,但是要一次执行加载到库中,也就是说,只占用一个连接数,-----------------...
比如,有几个表的数据文件a.csv,b.csv。。。需要分别导入a表,b表。。。,但是要一次执行加载到库中,也就是说,只占用一个连接数,
--------------------
1.写多个ctl,同时用多个执行:
sqlldr userid=arena2/arena2@Oracle11 control=e:\sqlldr.ctl
。。。。。
这样会同时占用多个连接并行处理吧?
如果不会并行处理,该如何设置呢?
---------------------
2.我想只写一个ctl文件,应该如何写呢?
有人说把所有的数据csv写入一个csv,把第一列设置为标记,然后在
into table1 when XX
(column1 position(。。),column2)
into table2 when XX
(column1,column2)
只能这样吗?
--------------------
我就是想知道,有没有办法让执行是顺序执行的?也就是同一时间里只处理一个sqlldr,其它的要等它处理完,这样比较节省连接数。因为有很多张表。 算了,就你一个回答,给你吧。 展开
--------------------
1.写多个ctl,同时用多个执行:
sqlldr userid=arena2/arena2@Oracle11 control=e:\sqlldr.ctl
。。。。。
这样会同时占用多个连接并行处理吧?
如果不会并行处理,该如何设置呢?
---------------------
2.我想只写一个ctl文件,应该如何写呢?
有人说把所有的数据csv写入一个csv,把第一列设置为标记,然后在
into table1 when XX
(column1 position(。。),column2)
into table2 when XX
(column1,column2)
只能这样吗?
--------------------
我就是想知道,有没有办法让执行是顺序执行的?也就是同一时间里只处理一个sqlldr,其它的要等它处理完,这样比较节省连接数。因为有很多张表。 算了,就你一个回答,给你吧。 展开
2个回答
展开全部
一次只能导一个文件,但一个文件中的数据可以导入到多个表中!
写个试试:test.ctl ,data1.txt,data2.txt
load data
infile 'e:\data1.txt'
insert into table A
field terminated by ','
trailing nullcols(id,name)
infile 'e:\data2.txt'
insert into table B
field terminated by ','
trailing nullcols(NAME,AGE)
sqlldr user/pwd@servername control='e:\test.ctl'
不行我也没办法,我都是先全塞一个文件里一起导的
写个试试:test.ctl ,data1.txt,data2.txt
load data
infile 'e:\data1.txt'
insert into table A
field terminated by ','
trailing nullcols(id,name)
infile 'e:\data2.txt'
insert into table B
field terminated by ','
trailing nullcols(NAME,AGE)
sqlldr user/pwd@servername control='e:\test.ctl'
不行我也没办法,我都是先全塞一个文件里一起导的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询