oracle大量数据导入 大量数据导入 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的 10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的就是不能用csv文件导入~~~不然事情就好办多了 ~~~~ 数据来自exl下个kettle,从excle导数据到数据库很方便的 额,将excel的数据导入测试机的oracle,然后dmp导出。再导入服务器。我导200数据so easy,几分钟的事情 忘记说了,dmp的时候涉及改表名,导入服务器的时候,就是表与表之间的数据复制的问题了 用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();感谢大家的热心帮助! 创建表是原子操作吗 急!关于create table和select中包含group by时出现的错误 求一条sql语句 blob类型存储过程,调用时存储过程出错? 请教oracle数据库在什么情况下会自动做checkpoint? 如何高效统计某段时间范围内的缺失记录 ◇◆求一sql语句,各位达人乱入阿◆◇ 游标控制! 9i report developer字符集问题!!! Oracle 行转列 --> linq 实现 Oracle11g透明网关连SQL Server出现“ORA-28545: 连接代理时 Net8 诊断到错误..........” 关于RMAN备份的问题。
数据来自exl
下个kettle,从excle导数据到数据库很方便的
再导入服务器。
我导200数据so easy,几分钟的事情
很给力,现在贴出代码!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();
感谢大家的热心帮助!