VC 有关ado内存泄漏方面的问题,请高手指点

Butterfly_King 程序员  2007-03-26 01:41:50
本人最近发现了一个ado方面的问题,一直没有找到相关资料。想请高手指点。

我使用ado访问SQL server 2000数据库,想得到一张人员表总的记录数(大概有三万条记录),程序如下:

_ConnectionPtr m_pC;
_RecordsetPtr pR;
_variant_t v;

......

SQL.Format("select count(*) from T_Employee");
pR=m_pC->Execute(_bstr_t(SQL),&v,adCmdText);
......


在执行pR=m_pC->Execute(_bstr_t(SQL),&v,adCmdText)的时候内存明显增加,一开始我以为是_RecordsetPtr对象没有被释放。但是我单独执行m_pC->Execute(_bstr_t(SQL),&v,adCmdText)的时候内存同样会有明显的增加。
即使退出程序内存也会比执行前增加很多,可如果我第二次执行的时候内存的变化就不大。重新启动计算机以后执行,内存又会有明显增加。

我是一个初学者,希望各位高手能给我一些指点,多谢!
...全文
289 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Butterfly_King 2007-03-26
to:hongqi162(失踪的月亮)
我看了一下,是数据库服务器占用的,如何才能将数据库服务器占用的资源释放掉呢?

to:skypu(小土豆)
我用来试验的程序非常简单,没有内存泄露的问题

回复
skypu 2007-03-26
你用F5debug模式有没有报告内存泄露?
试试看用CMemoryState来检测一下
回复
hongqi162 2007-03-26
如果数据库服务器在本地,你再任务管理器里看一下 增加的内存来自于应用程序还是你的数据库服务器
回复
modaoshi3002 2007-03-26
恩,关注,帮顶
回复
mochen5460 2007-03-26
mark
回复
相关推荐
发帖
数据库
创建于2007-09-28

3954

社区成员

VC/MFC 数据库
申请成为版主
帖子事件
创建了帖子
2007-03-26 01:41
社区公告
暂无公告