各位,我使用sqlserver2000的image存放图片。
先从一个表向另一表中导数据,
发现执行以下数据内存增长很快,不止哪里有问题?
谢谢!try{lDataSize= pRecServer->GetFields()->GetItem("uimage")->ActualSize;
}
catch(_com_error e)
{
lDataSize = -1;

}if ( lDataSize > 0)
{
try
{
VAR_BLOB = pRecServer->GetFields()->GetItem("uimage")->GetChunk(lDataSize);

}catch(_com_error e)
{ }

}//去掉上面则不增长
pRecLocal->GetFields()->GetItem("uimage")->AppendChunk(VAR_BLOB );

解决方案 »

  1.   

    用完 pRecServer 后, 不用了就把它关掉:
    if (pRecServer)
    {
      if (pRecServer->State == adStateOpen)
        pRecServer->Close();
    }
      

  2.   

    在这之前也已经close掉了
    并select id ,uname ,uimage from tab_account
    到pRecServer中.
    getChunk
    向pRecLocal中addnew(),
    appendChunk(),
    putcollect()
    内存很高。
    1000条记录,就到了30M,还在慢慢涨.
    去掉这一句就没事,<=5M.
      

  3.   

    这是同步两个表的。
    其中,客户录入新的信息到A中,并将记录号,id写到另一表B中。我的程序根据b中的id,记录号到A中找记录,并将信息填到C中。A和B是在同一机器和库中,C是另一机器的表且结构和A完全一样。在向B写image时出鬼了,数据是有了,但内存.....
      

  4.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthappendchunkxvc.asp