欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

asp打开excel后关闭不了的有关问题

更新时间: 2014-01-05 01:50:13 责任编辑: Author_N1

 

ASP打开EXCEL后关闭不了的问题
set excelConn=Server.CreateObject("ADODB.Connection")
excelConnStr="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ="e:\xx.xls"
excelConn.Open excelConnStr

set excelTableRs=excelConn.OpenSchema(20)

......

excelTableRs.close
Set excelTableRs = Nothing
excelConn.close
Set excelConn = Nothing

执行完毕后,我想删除该excel文件删除不了(fso删除或者直接跑目录里删除)。大概等了1分钟后就可以删除了。不知道什么原因。提示是iis 正打开文件。

--参考方法--

set res=createobject("ADODB.recordset")
res.Open "Select * From [Sheet1$]",excelConnStr, 1, 1

改用这种方式打开试试
--参考方法--
可能是垃圾回收器不会立即回收资源的原因
 if(CollectGarbage)CollectGarbage(); 
立即释放资源试试,放到你释放变量的代码后面
--参考方法--
引用:
Quote: 引用:

可能是垃圾回收器不会立即回收资源的原因
 if(CollectGarbage)CollectGarbage(); 
立即释放资源试试,放到你释放变量的代码后面

/****************
excelTableRs.close
Set excelTableRs = Nothing
excelConn.close
Set excelConn = Nothing
%>
<script language="jscript" runat="server">
if(CollectGarbage)CollectGarbage(); 
</script>
不起作用。我在火狐下

看错了,我以为是客户端打开的excel呢;服务端的不清楚,不过道理应该差不多,你调查一下ASP的资源回收方式,看能不能找到线索
--参考方法--
引用:
Quote: 引用:


set res=createobject("ADODB.recordset")
res.Open "Select * From [Sheet1$]",excelConnStr, 1, 1

改用这种方式打开试试


因为我要查询xls里面的表,所以这样不行。

你改用  Excel.Application  方式打开 能不能即时关 ,再通过 Sheets 属性取表信息
 
--参考方法--
释放要时间。所以可以做个回收的功能。
--参考方法--
ODBC连接池释放链接有一段时间的。可以考虑写个后台服务去定时删除一定时间段内的文件。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:50:13
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1794/
本文WWW.DOC100.NET DOC100.NET版权所有。