加载中…
个人资料
随风
随风
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,114
  • 关注人气:10
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle 中如何批量导入TXT文件内容到TABLE中

(2013-10-05 19:11:07)
标签:

sqlldr

sqlplus

oracle

it

分类: Oracle

<好东西大家分享>

转载请注明

 

 

在对数据库进行管理时,可以会遇到一次需要加载到DB中几百万笔数据,平时常用的方法可能就已经不实用了,那如何解决呢?

 

例如:现在有一个TXT文件,名称叫 data.txt ,有300万行数据,格式如下:

TEST-001,VAR,123

TEST-002,HAA,AF

……

……

等300万行数据;

 

解决方法:

在ORACLE中有一个工具SQLLODER,对批量维护数据非常实用,下面是具体的使用方法;

1.先创建一个文本文件,保存了 load.ctl格式的文件,名称自己随便取,但后缀名一定要是.ctl的,这个是加载数据到数据中的控制文件,具体内容如下:

load data

infile 'data.txt'

into table t_test append

(

字段名称1 char terminated by whitespace,

字段名称2 char terminated by whitespace,

字段名称3 char terminated by whitespace

)

 

保存文件;

注释: 其中 infile 后面跟的是所要导入的TXT数据文件,into table后面跟所在导入数据的TABLE名称;

2.将 load.ctl 文件和 data.txt文件放在同一个文件下或同一个盘下;

3.调出运行框,输入 ‘CMD’回车,打到命令窗口,先进入到文件所在的盘符下或文件夹下,如放在D:下,命令如下:

 http://s7/mw690/9c47a152gx6DbOgfNLUe6&690中如何批量导入TXT文件内容到TABLE中" TITLE="Oracle 中如何批量导入TXT文件内容到TABLE中" />
4.输入 sqlldr userid=socct/admin@dbname control=load.ctl  回车,其中,“userid=”为固定,后面跟随所要上传数据的DB的用户名及密码,“@”后面为DB名称,"control="固定 ,后面跟随控制文件名称,就是刚刚建立的load.ctl文件,如下图:
http://s14/mw690/9c47a152gx6DbOGTRoNbd&690中如何批量导入TXT文件内容到TABLE中" TITLE="Oracle 中如何批量导入TXT文件内容到TABLE中" />
到这里TXT文件中的几百万笔数据,只需等个几十秒就OK了;
 
上面sqlldr的具体用法请自行查询

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有