社区
Oracle
帖子详情
请教sqlldr把多个格式一样的文件导入到一个表中
shunan
2009-09-01 04:38:07
请教各位大虾,因为要导入的文件名中有日期,所以无法在控制文件中指定多个infile来完成。
是否能在sqlldr命令中完成。如“sqlldr 连接数据库 data= 。。。”。或者其他方法。谢谢了
ps:一个文件一个文件逐个load的方法就免了。
...全文
867
11
打赏
收藏
请教sqlldr把多个格式一样的文件导入到一个表中
请教各位大虾,因为要导入的文件名中有日期,所以无法在控制文件中指定多个infile来完成。 是否能在sqlldr命令中完成。如“sqlldr 连接数据库 data= 。。。”。或者其他方法。谢谢了 ps:一个文件一个文件逐个load的方法就免了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zcs_1
2009-09-08
打赏
举报
回复
我试过了,data参数只能接受一个文件,不能接受多个文件,实在是没办法了.看看用其他方式把文本文件给处理一下,合并成一个文件再用sqlldr
shunan
2009-09-08
打赏
举报
回复
您的意思是写个bat,把我要导入的文本文件合并成一个文件。
然后再用sqlldr进行导入吗?
[Quote=引用 8 楼 feifei19850830 的回复:]
写个批处理将文本合并,然后再按上面的就可以了
[/Quote]
shunan
2009-09-08
打赏
举报
回复
大虾,我前面的回复就说了,我的文本文件名中有日期,如果使用infile的方式,就需要每天动态生成ctl文件,或者手工修改控制文件了。我想有没有办法通过data参数确定,这样日期就可以从批处理bat文件中传进去了。 不知道我说明白了没有。。。
[Quote=引用 7 楼 zcs_1 的回复:]
刚查了下,控制文件中可以指明多个INFILE,如一个控制文件的INFILE部分可以是
INFILE mydat1.dat BADFILE mydat1.bad DISCARDFILE mydat1.dis
INFILE mydat2.dat
INFILE mydat3.dat DISCARDFILE mydat3.dis
INFILE mydat4.dat DISCARDMAX 10 0
则对于上面的例子,修改如下:
----------------------
名称 字段类型
DEPTNO NUMBER(2)
DNAME VARCHAR2(10)
LOC VARCHAR2(10)
有数据文件df1.txt,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
有数据文件df2.txt,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
则控制文件ctl.txt的内容为
LOAD DATA
INFILE df1.txt
INFILE df2.txt
INTO TABLE DEPT
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO,
DNAME,
LOC)
sqlldr命令为
sqlldr scott/tiger control=ctl.txt
------------------------------------------
[/Quote]
feifei19850830
2009-09-07
打赏
举报
回复
写个批处理将文本合并,然后再按上面的就可以了
zcs_1
2009-09-07
打赏
举报
回复
刚查了下,控制文件中可以指明多个INFILE,如一个控制文件的INFILE部分可以是
INFILE mydat1.dat BADFILE mydat1.bad DISCARDFILE mydat1.dis
INFILE mydat2.dat
INFILE mydat3.dat DISCARDFILE mydat3.dis
INFILE mydat4.dat DISCARDMAX 10 0
则对于上面的例子,修改如下:
----------------------
名称 字段类型
DEPTNO NUMBER(2)
DNAME VARCHAR2(10)
LOC VARCHAR2(10)
有数据文件df1.txt,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
有数据文件df2.txt,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
则控制文件ctl.txt的内容为
LOAD DATA
INFILE df1.txt
INFILE df2.txt
INTO TABLE DEPT
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO,
DNAME,
LOC)
sqlldr命令为
sqlldr scott/tiger control=ctl.txt
------------------------------------------
shunan
2009-09-07
打赏
举报
回复
您这个data=df.txt一次只导入一个文件,我想有没有办法data参数关联多个文件,一次进行导入呢? thanks lot
[Quote=引用 5 楼 zcs_1 的回复:]
比如表名为dept,有三个数据项,其字段名称和类型为
名称 字段类型
DEPTNO NUMBER(2)
DNAME VARCHAR2(10)
LOC VARCHAR2(10)
有数据文件,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
则控制文件ctl.txt的内容为
LOAD DATA
INTO TABLE DEPT
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO,
DNAME,
LOC)
sqlldr命令为
sqlldr scott/tiger control=ctl.txt data=df.txt
[/Quote]
zcs_1
2009-09-04
打赏
举报
回复
比如表名为dept,有三个数据项,其字段名称和类型为
名称 字段类型
DEPTNO NUMBER(2)
DNAME VARCHAR2(10)
LOC VARCHAR2(10)
有数据文件,内容为
10,Sales,USA
20,Accounting,"Virginia,USA"
30,Consulting,Virginia
40,Finance,Virginia
则控制文件ctl.txt的内容为
LOAD DATA
INTO TABLE DEPT
APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO,
DNAME,
LOC)
sqlldr命令为
sqlldr scott/tiger control=ctl.txt data=df.txt
shunan
2009-09-03
打赏
举报
回复
[Quote=引用 3 楼 zcs_1 的回复:]
可以在控制文件中不指定数据文件名,而是用data参数来指定数据文件,控制文件中把INFILE 部分去掉就可以了。
[/Quote]
大侠,请教用data参数如何写呢? 能否给个例子参考下,谢谢!
zcs_1
2009-09-02
打赏
举报
回复
可以在控制文件中不指定数据文件名,而是用data参数来指定数据文件,控制文件中把INFILE 部分去掉就可以了。
shunan
2009-09-02
打赏
举报
回复
[Quote=引用 1 楼 majy 的回复:]
只能在control文件中指定,文件名有日期也没关系啊,你把control file结构发上来看看
[/Quote]
控制文件就是一般很普通的。因为要导入的文件每天有会有,比如说今天是20090902data.txt文件,明天就是要导入20090903data.txt文件了。这样的话,控制文件就得每天动态生成。
majy
2009-09-01
打赏
举报
回复
只能在control文件中指定,文件名有日期也没关系啊,你把control file结构发上来看看
my
sql
临时表
导入
csv
文件
_java调用
sql
ldr
导入
csv
文件
数据到临时表
package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java...
java调用
sql
ldr
导入
csv
文件
数据到临时表
package cn.com.file;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java...
oracle数据
文件
离线,oracle数据库的
文件
在哪里
Oracle体系结构Oracle 服务器由Oracle实例与Oracle数据库组成Oracle实例(instance),通过ORACLE_SID来引导(Oracle标识)单实例情况下:Oracle数据库名与Oracle实例名相同且具有唯一性举例:三国中,关羽使用青龙偃月刀,吕布使用方天画戟,这就是唯一性身份标...文章技术小甜2017-11-16910浏览量oracle控制
文件
损坏的解决方案ora...
SQL
PLUS报错:SP2-0606
杂记: 因工作需要用到了
SQL
PLUS的脚本,碰到了非常奇葩的错误,SP2-0606,作为新时代的青年,我以饱含热情的姿态去向干妈度娘
请教
;太不是人了,很多的百度内容都是一样的,看的我脑子嗡嗡的,差一点直接GG了;但是我作为男生一向贯彻坚持不懈((*^▽^*)你懂的)原则,看到了
一个
外国友人的答案,说的是正常情况下spool定向输出内容是不会报错的,说的太他妹有道理了,当时瞬间云销雨霁,智商爆棚...
ORACLE数据库索引失效
数据库中有
一个
表,用PL/
SQL
查看该表的索引没有被DROP掉, 但是表上的数据查询起来很慢(查询时间大概是原来的3倍),后来重建了一下索引就好了, 请问这是为什么, 在什么情况下会出现类似的索引丢失的情况? 可能是你的表经常被更新,碎片太多,索引占用空间太大,优化器觉得没有必要用索引了 就直接全表扫描了啊,你重新建立索引,就整理了碎片了啊,当然就又用索引了 索引失效的情况很多,比
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章