加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-05-31 13:47:41 所属栏目:Asp教程 来源:
导读:在一天某个时间段内打不开,等待好几分钟就会说asp脚本超时,但FTP可以登陆进去,查看数据库目录时,发现与数据库(我的数据库是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 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()
 
%>
 
根据这个标准,我对我的网站程序进行地毡式的排查、补漏,最后我的网站终于得于正常访问,再也没有出现以前数据库死锁的情况了。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章