zoukankan      html  css  js  c++  java
  • SQL Loader的简单使用

      项目中需要导入几十MB、上百MB的TXT文本文件,利用oracle的sql loader导入非常不错。

     

    String cmd = "sqlldr userid=数据库用户名/密码@数据库监听实例名 skip=1 errors=0 control=d:/test.ctl data=d:/test.txt log=d:/log/log.log bad=d:/log/bad.bad ";
    
    //返回与当前 Java 应用程序相关的运行时对象 
    Runtime run = Runtime.getRuntime(); 
    // 启动另一个进程来执行命令
    Process p = run.exec(cmd);      
    if (p.waitFor() != 0) {       
         if (p.exitValue() == 0) {
            //p.exitValue()==0表示正常结束,1:非正常结束   
            System.out.println(“执行成功”);
         }else { 
            System.out.println(“执行出错”);
         }
    } 

    test.ctl文件:

    LOAD    DATA          
            TRUNCATE   
            INTO   TABLE   表名
            FIELDS   TERMINATED   BY '|'   
    TRAILING NULLCOLS
    (
    name,
    password,
    createTime date 'YYYY-MM-DD HH24:MI:SS'
    )

    test.txt

    姓名|密码|导入时间
    李坏|123456|2012-12-24 22:10:23
    叶开|123456|2012-12-24 22:10:23

       cmd命令中的skip=1表示跳过导入文件中的第一行,log=d:/log/log.log导入成功的日志文件, bad=d:/log/bad.bad导入失败的日志文件。

       test.ctl文件中的TRUNCATE  INTO标识全量更新,就是会把表的数据全部删掉,再导入。 (APPEND INTO则是增量,不会删表中的数据)。

     

      

      

  • 相关阅读:
    Java基础08 继承
    Java基础07 包
    Java基础06 组合
    Java基础05 实施接口
    Java基础04 封装与接口
    Java基础03 构造器与方法重载
    Java基础02 方法与数据成员
    Java基础01 从HelloWorld到面向对象
    151. Reverse Words in a String
    168. Excel Sheet Column Title
  • 原文地址:https://www.cnblogs.com/luxh/p/2500531.html
Copyright © 2011-2022 走看看