解决方案 »

  1.   

    10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的
      

  2.   

    10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的就是不能用csv文件导入~~~不然事情就好办多了 ~~~~
      

  3.   


    数据来自exl
    下个kettle,从excle导数据到数据库很方便的
      

  4.   

    额,将excel的数据导入测试机的oracle,然后dmp导出。
    再导入服务器。
    我导200数据so easy,几分钟的事情
      

  5.   

    忘记说了,dmp的时候涉及改表名,导入服务器的时候,就是表与表之间的数据复制的问题了
      

  6.   

    用preparedstatement 的addBatch()1万条数据0.2s
    很给力,现在贴出代码!StringBuffer sql = new StringBuffer();
    sql.append("insert into ex_log (id,prov,city,customermanager,backuptel,worktime,gooffwordtime,telphoneC,vipuname" +
    ",viplevel,vipnum,telphoneV) values (ex_log_seq.nextval,?,?,?,?,?,?,?,?,?,?,?)");
    Long startTime = System.currentTimeMillis();
    PreparedStatement pst = (PreparedStatement) conn.prepareStatement(sql.toString());
    //每5w提交一次
    for (int i = 1; i <= xssfSheet.getLastRowNum(); i++) {
    Map cell = excelUtils.readExcel2MapRowByRow(i, xssfSheet);
    if (cell == null || cell.isEmpty()){
    //这里有空项,后面需要打印到文件
    return null;
    } pst.addBatch();
    }
    // 执行批量更新
    pst.executeBatch();
    // 语句执行完毕,提交本事务
    conn.commit();
    Long endTime = System.currentTimeMillis();
    System.out.println("用时:" + (endTime - startTime)+"毫秒!");
    pst.close();
    conn.close();
    感谢大家的热心帮助!