当前位置: 首页 > 图文教程 > 网络编程 > ASP > Asp 操作Access数据库时出现死锁.ldb的解决方法

ASP
深入研究Application和Session对象(2)
深入研究Application和Session对象(3)
开始 .Net的旅程(一)
开始 .Net的旅程(二)
手把手教你使用VB来创建ASP组件(1)
手把手教你使用VB来创建ASP组件(2)
手把手教你使用VB来创建ASP组件(3)
手把手教你使用VB来创建ASP组件(4)
手把手教你使用VB来创建ASP组件(5)
手把手教你使用VB来创建ASP组件(6)
手把手教你使用VB来创建ASP组件(7)
手把手教你使用Java来编写ASP组件(1)
手把手教你使用Java来编写ASP组件(2)
手把手教你使用Java来编写ASP组件(3)
手把手教你使用Java来编写ASP组件(4)
手把手教你使用Java来编写ASP组件(5)
手把手教你使用Java来编写ASP组件(6)
ASP 3.0高级编程(二十四)
ASP 3.0高级编程(二十五)
ASP 3.0高级编程(二十六)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 134 ::
收藏到网摘: n/a

在一天某个时间段内打不开,等待好几分钟就会说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 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()
%>
根据这个标准,我对我的网站程序进行地毡式的排查、补漏,最后我的网站终于得于正常访问,再也没有出现以前数据库死锁的情况了。