Asp 操作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()

  %>

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