首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

out of memory (急)解决办法

2012-02-17 
out of memory (急!)我从文本文件中读取数据,加到sql数据库中.数据很大,有一万多条记录.  我试了几中方法,

out of memory (急!)
我从文本文件中读取数据,加到sql数据库中.数据很大,有一万多条记录.
  我试了几中方法,其中有两种都会出现 out of memory 这样的现象,只有一种不出现(但是执行速度满了一点).
  前两种是这样的:一为:每条记录写一个新增语句放到strsql,
             SQL_STR:=SQL_STR+strsql+' ';
             ADOQuery1.SQL.Text:=SQL_STR;
         ADOQuery1.ExecSQL;
          二为:与第一种比较像,如果记录超过6000条,分开两段写最后的SQL_STR,SQL_STR1,试过
             用另个str=SQL_STR+SQL_STR1
  ADOQuery1.SQL.Text:=str;
  或者分开执行,但是都出现过out of memory 这样的现象
              一般第一次执行的时候不会出现,但是连续两次执行就会出现这样的错误.
 不会出现错误的:
    
         每条记录写一个新增语句放到strsql,然后每条记录都执行一次
         ADOQuery1.SQL.Text:=strsql;
    ADOQuery1.ExecSQL;
 但是这种方法太慢了。请问各位大虾,有什么好的解决方法吗?

[解决办法]
感觉你的第一,二种没什么区别,就是在delphi内用了两个不同的变量而已,应该是构建6000条数据的SQL语句后就执行一次,然后再重新构建下一个6000条的SQL语句,当然,也可以不用6000,用个1000,2000之类的,保证比只一条执行一次要效率得多,而且程序也不会感觉很长时间没反应。
[解决办法]
楼主为什么非要1w多条记录插入一次呢,楼主可以没1000条插入一次数据库,这样str的长度就不回太大了

热点排行