日期:2014-05-18  浏览次数:20807 次

大数据量导出Access的有效方法?
用C#写的WinForm程序,需要从Oracle数据库或者Access数据库里根据一定的过滤条件导出大量数据生成另外一个Access库,在这方面没什么经验,我是逐条读出数据插入新的access的表,当数据有几十万行的时候,这个过程极其缓慢,CPU占用过高甚至导致程序down掉
  有什么高效率的办法可以达到我的目的,望各位大虾指教,谢谢!

附加参考:1.我不知道Oracle数据库本身是否有支持高效的导出Access方法,但是由于运行环境的原因,我的程序未必能有权限去调用Oracle进行操作,大部分情况可能只是在程序里建立数据连接,打开连接,读数据。当然,如果Oracle有这样的方法,也请您告诉我,我尝试一下;
2.我是用DataReader一条一条读的,再一条一条插入;用DataSet一次加载到内存(假设内存足够大),再从内存导出的话,效率会不会高很多?

------解决方案--------------------
1.可以在程序中控制数据表的参数,然后导出到ACCESS的工作交给数据库本身(Oracle).
(我没用过Oracle,具体是否可行,我也不清楚)

2.你说的用DataSet一次加载到内存,再从内存导出,速度肯定会快很多的。