关于ADOQUERY的占用虚拟内存的问题(100分)

  • 主题发起人 主题发起人 guoleimail
  • 开始时间 开始时间
G

guoleimail

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠们,请帮助下小弟,情况如下<br>&nbsp; 我写一个程序后,该程序要求能够长期运行,但我发现这个该程序功能都还好,就是一个问题,有些虚拟内存不断上涨。<br>&nbsp; 程序基本内容如下,五个线程,一个主线程,四个辅助线程。四个辅助线程经常从远程服务器上数据取数据进行判断,如<br>&nbsp; while not adoquery1.eof do<br>&nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp; &nbsp; //读取数据并判断<br>&nbsp; &nbsp; &nbsp; &nbsp; ....<br>&nbsp; &nbsp; &nbsp; &nbsp; adoquery1.next; <br>&nbsp; &nbsp; &nbsp;end;<br>经过几番改造,将以前写的ADOUQERY1是静态的,发现虚拟内存涨得很快(运行十几天后虚拟内存不够),后又改为动态创建,try..finally 并采用FREEANDNIL();后,情况有些好转,运行的时间可以更长一点。<br>&nbsp; &nbsp;多次测试,freeandnil,内存还是在涨,<br>&nbsp; 现在的问题是我应该如何完全解决这个问题,请大家帮忙下。
 
ado连的是什么数据库?<br>ado在连某些数据库时,执行返回游标的操作是会有内存问题。<br>微软都公布了这个bug.
 
ADO连接的数据库是MS SQL 2000,采用的是C/S模式,读取的是服务器上的SQL 2000 数据库,请大侠们说得详细点啊
 
用clientDataSet<br>不用adoquery试试
 
贴代码出来看看就知道了,这种程度的说明,找不到真正原因的
 
后退
顶部