oracle大量数据导入

xb12369 2014-05-12 06:23:34
如何将大量数据(比如10w条)一次性入库?



用这个PreparedStatement 一万条的时候就把我的服务器干死了,怎么办?
...全文
266 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
c_sdn_shang_bu_qi 2014-05-13
  • 打赏
  • 举报
回复
忘记说了,dmp的时候涉及改表名,导入服务器的时候,就是表与表之间的数据复制的问题了
c_sdn_shang_bu_qi 2014-05-13
  • 打赏
  • 举报
回复
额,将excel的数据导入测试机的oracle,然后dmp导出。 再导入服务器。 我导200数据so easy,几分钟的事情
BaseDT 2014-05-13
  • 打赏
  • 举报
回复
引用 4 楼 xb12369 的回复:
[quote=引用 1 楼 zhaowensheng123 的回复:] 你说的这十万条是文本文件还是就在别的数据库上要导入另一个数据库?
数据来自exl[/quote] 下个kettle,从excle导数据到数据库很方便的
xb12369 2014-05-13
  • 打赏
  • 举报
回复
引用 1 楼 zhaowensheng123 的回复:
你说的这十万条是文本文件还是就在别的数据库上要导入另一个数据库?
数据来自exl
xb12369 2014-05-13
  • 打赏
  • 举报
回复
引用 2 楼 gleiyu 的回复:
[quote=引用 楼主 xb12369 的回复:] 如何将大量数据(比如10w条)一次性入库? 用这个PreparedStatement 一万条的时候就把我的服务器干死了,怎么办?
10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的[/quote] 就是不能用csv文件导入~~~不然事情就好办多了 ~~~~
xb12369 2014-05-13
  • 打赏
  • 举报
回复
用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();

感谢大家的热心帮助!
BaseDT 2014-05-12
  • 打赏
  • 举报
回复
引用 楼主 xb12369 的回复:
如何将大量数据(比如10w条)一次性入库? 用这个PreparedStatement 一万条的时候就把我的服务器干死了,怎么办?
10W条不算多啊,如果是从文件中导入数据库可以用sqlloader,PL/SQL自带的文本导入器也很方便的
WSZHAO_SELECT 2014-05-12
  • 打赏
  • 举报
回复
你说的这十万条是文本文件还是就在别的数据库上要导入另一个数据库?

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧