关于Asp程序操作Access数据库时出现死锁.ldb的解决方案
 

在日常的工作中,有时客户经常反映asp脚本超时,但FTP可以登陆进去,查看数据库目录时,发现与数据库(数据库是access数据库)同名的记录锁定信息文件 (.ldb文件)一直都在那里,您可以登陆[用户管理-虚拟主机产品管理-管理],停止网站,然后再开启,ldb文件就消失了,网站打开也正常了,但过了数小时后,网站又再次出现以上情况,此种情况持续了好一段时间.出现这些异常主要都是因为程序对数据库存取完后,没有及时释放记录集和断开数据库连接,下面谈谈具体的解决方案:
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 conn=nothing
End Sub
%>
2)关闭释放记录集
rs.close
set rs=nothing
3)断开数据库连接
conn.close
set conn=nothing
结合以上三个内容,得出以下操作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()
%>
根据上面的方案,对您的网站程序进行地毡式的排查/补漏,网站即可正常访问.


也许下面的会对您有所帮助:

如何防治Access宏病毒?
http://www.34514.cn/style/info/shownews.asp?id=29

Access数据库过大影响网站性能的解决方法?
http://www.34514.cn/style/info/shownews.asp?id=430

如何在ACCESS中调用后台存储过程?
http://www.34514.cn/style/info/shownews.asp?id=30