V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ge2009
V2EX  ›  问与答

大于5G 的 CSV 文件如何导入到Oracle数据库中

  •  
  •   ge2009 · 2013-10-21 23:26:31 +08:00 · 3093 次点击
    这是一个创建于 3839 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有一个 CSV 文件里面大概有40000000条数据,试过 Toad,Access,Excel,Number,plsqldev 都无法打开或导入,Oracle的sqlldr也试过都没用,只有 UltraEdit 可以打开浏览但无法导入到Oracel 里,求解,谢谢!
    8 条回复    1970-01-01 08:00:00 +08:00
    csx163
        1
    csx163  
       2013-10-21 23:35:51 +08:00
    分割呗,这么简单
    mlhorizon
        2
    mlhorizon  
       2013-10-21 23:39:59 +08:00
    数据干净的话,用SQL LOADER 就好了。
    Muninn
        3
    Muninn  
       2013-10-22 01:18:54 +08:00
    我平时倒的文件都是几十或者几百G,从来没出过问题. 就用自带的sqlldr. 你得详细的说你出的什么问题才好解决啊. 文件大小绝对不是问题.
    ge2009
        4
    ge2009  
    OP
       2013-10-22 09:20:59 +08:00
    @csx163 试过好些 csv 分割器,都有问题
    10iii
        5
    10iii  
       2013-10-22 10:03:37 +08:00   ❤️ 1
    //cut.js
    var ws = WScript.CreateObject("WScript.Shell"), fso = new ActiveXObject("Scripting.FileSystemObject");
    var fin = fso.OpenTextFile(".\\Very-Large.csv", 1);
    var i=0,j=1;
    var fout = fso.OpenTextFile(".\\part"+(i++)+".csv", 2, true);
    while (!fin.AtEndOfStream) {
    j++;
    fout.WriteLine(fin.ReadLine());
    if ((j%1000000) === 0) {
    fout.Close();
    fout = fso.OpenTextFile(".\\part"+(i++)+".csv", 2, true);
    }
    }
    fin.Close();fout.Close();
    ws.popup('Done');
    10iii
        6
    10iii  
       2013-10-22 10:06:38 +08:00
    提前说句,估计是你的csv中间有乱七八糟换行符啥的。
    csx163
        7
    csx163  
       2013-10-26 22:10:03 +08:00
    @ge2009 我用的是会生成一个DAV后缀文件的切割器,名字真忘了
    ge2009
        8
    ge2009  
    OP
       2013-10-27 12:16:14 +08:00
    @10iii 多谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3153 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:54 · PVG 18:54 · LAX 03:54 · JFK 06:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.