天下数据支招大批量数据导入数据库,dbf导入oracle,csv导入oracle

   Excel 07-2003一个工作表最多可有65536,行最多可有256列;Excel 2007及以后版本,一个工作表最多可有1048576行,16384列。

  一、小批量数据处理:

  方法一:用excel可以直接打开dbf或csv文件,数据库表for update,直接把excel表中想要的列值直接复制到pl/sql中 相对应字段。

  方法二:若是dbf文件可用dbfplus工具转换成csv文件,打开pl/sql中的 工具>文本导入器,在‘到Oracle的数据’中选择到导入哪个用户下的哪个表,点击左上角‘打开’你已经准备好csv文件,这个动作一般要再重复一次,左侧就是csv’字段’,右侧是导入表的字段和数据类型,选择要导入的对应字段,点‘导入’就可以了。(小批量数据和大批量数据都可以用这个方法,可参考

  二、超过excel最大行数据:

  我在用上面的方法二处理400万左右的数据时,出现了多次卡死现象,用了一天时间才解决。方法如下:

  1.准备好compare.csv,放在e:\Data\下,并在该路径下新建一个compare.ctl控制文件、compare.log日志文件、compare.bad是坏的行(格式不对不能导入)、compare.dis是丢弃的行。

  2.重点:编辑compare.ctl文件

  OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=50000)

  LOAD DATA

  INFILE 'e:\Data\compare.csv'

  BADFILE e:\Data\compare.bad'

  DISCARDFILE 'e:\Data\compare.dis'

  APPEND

  INTO TABLE cc_compare

  FIELDS TERMINATED BY ','

  (

  com01,

  com02,

  com03,

  com04,

  com05,

  com06,

  com07,

  com08)

  注意,数据库中的cc_compare表与compare.csv列是对应的;另外如果com08列有哪个值是空的,该行整条数据都导不进去了,可以不导或新加个值都不为空的列。

  (注:rows控制每500000行commit一次,errors控制当有多少行导入出现错误时就停止导入,-1是不管多少行错都不停止)

  3.打开cmd执行命令。

  C:\>sqlldr username/password@oracle control=e:/Data/compare.ctl log=e:/Data/compare.log

  OK!成功!看看你的e:\Data\下吧!

  这些我都在用,这些方法不管多大的数据都可以用。


转载于:https://my.oschina.net/u/2004304/blog/645836

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值