Sign-up....

关于ADODB.Stream对象的内存释放问题

最近写了段代码,作用是将数据库中某Upload表中的Binary字段导成文件

Dim i,arrayTemp,strSQL

i = 0

Set bSourceData = createobject("ADODB.Stream")

bSourceData.Type = 1

bSourceData.Mode = 3

While Not objRs.Eof

'导出文件

strFileName = Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & i

arrayTemp = Split(objRs("FileName"),".")

strSuffix = "." & arrayTemp(UBound(arrayTemp))

bSourceData.Open

bSourceData.Write objRs("BinaryData")

bSourceData.SaveToFile strFolder & strFileName & strSuffix

bSourceData.Close

i = i + 1

objRs.MoveNext

WEnd

objRs.Close

Set objRs = Nothing

objConn.Close

Set objConn = Nothing

Set bSourceData = Nothing

文件能保存成功,关键是内存上去了,可怎么都下不来,共导出了100多M的文件,服务器上的内存也要跟着上升100多M,等待N久,仍不释放,请高手指点!

[704 byte] By [msdn] at [2007-8-15 10:03:27]
# 1 Re: 关于ADODB.Stream对象的内存释放问题

从代码上看,看不出有什么问题。

你说等了N久,是多久呢?还有,你的单个文件有100M,还是所有文件总共100M?

jspadmin at 2006-3-9 18:16:38 >
# 2 Re: 关于ADODB.Stream对象的内存释放问题

等了N久:是10分钟左右

是文件总共加起来有100多M,有400多个文件

changezhong at 2006-3-10 9:46:12 >
# 3 Re: 关于ADODB.Stream对象的内存释放问题

试试Set bSourceData = Nothing这句放到前面

Set bSourceData = Nothing

objRs.Close

Set objRs = Nothing

objConn.Close

Set objConn = Nothing

jspadmin at 2006-3-10 10:04:50 >
# 4 Re: 关于ADODB.Stream对象的内存释放问题

内存升到了100,说明每次都没有得到释放,一直累加上去了。

试下每次文件生成后,就释放试试,虽然会降低很多效率,看还能不能释放

jspadmin at 2006-3-10 10:28:57 >
# 5 Re: 关于ADODB.Stream对象的内存释放问题

估计是

bSourceData.Write objRs("BinaryData") 写的过程比较长 是异步的,你程序都执行完毕了 还在写,所以 objRs 没有释放

patchclass at 2006-3-22 9:00:45 >
# 6 Re: 关于ADODB.Stream对象的内存释放问题

留下作日后的研究用,谢啦

Deneral at 2006-3-22 10:10:39 >
# 7 Re: 关于ADODB.Stream对象的内存释放问题

超级绿豆@ VBAPI 22:19:30

bSourceData.Write objRs("BinaryData")

后会增加对objRs对象的引用计数

超级绿豆@ VBAPI(140419) 22:20:56

没有用set或者参数引用的话是不会增加引用计数的

jspadmin at 2006-3-25 22:31:39 >
# 8 Re: 关于ADODB.Stream对象的内存释放问题

不懂

Dim bSourceTemp

While Not objRs.Eof

...

bSourceTemp = objRs("BinaryData")

bSourceData.Write bSourceTemp

...

WEnd

同样是进行了同样次数的数据库读写 为什么效率会比直接读取快呢

snakeleester at 2006-4-3 20:03:11 >
# 9 Re: 关于ADODB.Stream对象的内存释放问题

mari

yjbnew at 2006-6-12 15:54:30 >

Web

All Classified