Asp 操作Access数据库时出现死锁.ldb的解决方法

在一天某个时间段内打不开,等待好几分钟就会说asp脚本超时,但FTP可以登陆进去,查看数据库目录时,发现与数据库(我的数据库是access数据库)同名的记录锁定信息文件 (.ldb文件)一直都在那里,于是我登陆主机的管理面板,重启了网站服务,ldb文件就消失了,网站打开也正常了,但过了数小时后,网站又再次出现以上情况,此种情况持续了好一段时间,网站后来被虚拟主机的供应商屏蔽了,反馈给我的说法是因为我的网站运行时大量占用CPU资源,所以予暂时屏蔽,让我对网站程序或数据库进行优化。 

在百度上搜索了一下这方面的情况,结果也不少,总结下来主要都是因为对数据库存取完后,没有及时释放记录集和断开数据库连接,以下谈谈操作Access数据库的标准方法: 

1、数据库连接方法:Conn.asp 

<% 

dim conn 

dim connstr 

dim db 

db="database/data.mdb" 

Set conn = Server.CreateObject("ADODB.Connection") 

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") 

conn.Open connstr 

If Err Then 

err.Clear 

Set Conn = Nothing 

Response.Write "服务器正在维护,请稍后再试。" 

Response.End 

End If 

Sub CloseConn() 

'以下是断开数据库连接语句 

conn.close 

set cothing 

End Sub 

%> 

2、关闭释放记录集 

rs.close 

set rs=nothing 

3、断开数据库连接 

conn.close 

set cothing 

结合以上三个内容,得出以下操作Access数据库的标准方法 Test.asp 

<!--#include file="conn.asp" --> 

<% 

sql="select * from table order by id" 

set rs=server.createobject("adodb.recordset") 

rs.open sql,conn,1,1 

if not rs.eof then 

tel=rs("tel") 

fax=rs("fax") 

end if 

'以下关闭并释放记录集语句 

rs.close 

set rs=nothing 

'调用断开数据库连接子函数 

Call CloseConn() 

%> 

根据这个标准,我对我的网站程序进行地毡式的排查、补漏,最后我的网站终于得于正常访问,再也没有出现以前数据库死锁的情况了。

相关文章

数组的定义 Dim MyArray MyArray = Array(1‚5‚123‚12‚98...
\'参数: \'code:要检测的代码 \'leixing:html或者ubb \'n...
演示效果: 代码下载: 点击下载
环境:winxp sp2 ,mysql5.0.18,mysql odbc 3.51 driver 表采...
其实说起AJAX的初级应用是非常简单的,通俗的说就是客户端(j...
<% ’判断文件名是否合法 Function isFilename(aFilename...