Asp 操作Access數(shù)據(jù)庫時出現(xiàn)死鎖.ldb的解決方法
更新時間:2009年04月09日 16:16:28 作者:
在一天某個時間段內(nèi)打不開,等待好幾分鐘就會說asp腳本超時,但FTP可以登陸進去,查看數(shù)據(jù)庫目錄時,發(fā)現(xiàn)與數(shù)據(jù)庫(我的數(shù)據(jù)庫是access數(shù)據(jù)庫)同名的記錄鎖定信息文件 (.ldb文件)一直都在那里
于是我登陸主機的管理面板,重啟了網(wǎng)站服務(wù),ldb文件就消失了,網(wǎng)站打開也正常了,但過了數(shù)小時后,網(wǎng)站又再次出現(xiàn)以上情況,此種情況持續(xù)了好一段時間,網(wǎng)站后來被虛擬主機的供應(yīng)商屏蔽了,反饋給我的說法是因為我的網(wǎng)站運行時大量占用CPU資源,所以予暫時屏蔽,讓我對網(wǎng)站程序或數(shù)據(jù)庫進行優(yōu)化。
在百度上搜索了一下這方面的情況,結(jié)果也不少,總結(jié)下來主要都是因為對數(shù)據(jù)庫存取完后,沒有及時釋放記錄集和斷開數(shù)據(jù)庫連接,以下談?wù)劜僮鰽ccess數(shù)據(jù)庫的標(biāo)準(zhǔn)方法:
1、數(shù)據(jù)庫連接方法: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 "服務(wù)器正在維護,請稍后再試。"
Response.End
End If
Sub CloseConn()
'以下是斷開數(shù)據(jù)庫連接語句
conn.close
set conn=nothing
End Sub
%>
2、關(guān)閉釋放記錄集
rs.close
set rs=nothing
3、斷開數(shù)據(jù)庫連接
conn.close
set conn=nothing
結(jié)合以上三個內(nèi)容,得出以下操作Access數(shù)據(jù)庫的標(biāo)準(zhǔn)方法 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
'以下關(guān)閉并釋放記錄集語句
rs.close
set rs=nothing
'調(diào)用斷開數(shù)據(jù)庫連接子函數(shù)
Call CloseConn()
%>
根據(jù)這個標(biāo)準(zhǔn),我對我的網(wǎng)站程序進行地氈式的排查、補漏,最后我的網(wǎng)站終于得于正常訪問,再也沒有出現(xiàn)以前數(shù)據(jù)庫死鎖的情況了。
在百度上搜索了一下這方面的情況,結(jié)果也不少,總結(jié)下來主要都是因為對數(shù)據(jù)庫存取完后,沒有及時釋放記錄集和斷開數(shù)據(jù)庫連接,以下談?wù)劜僮鰽ccess數(shù)據(jù)庫的標(biāo)準(zhǔn)方法:
1、數(shù)據(jù)庫連接方法: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 "服務(wù)器正在維護,請稍后再試。"
Response.End
End If
Sub CloseConn()
'以下是斷開數(shù)據(jù)庫連接語句
conn.close
set conn=nothing
End Sub
%>
2、關(guān)閉釋放記錄集
rs.close
set rs=nothing
3、斷開數(shù)據(jù)庫連接
conn.close
set conn=nothing
結(jié)合以上三個內(nèi)容,得出以下操作Access數(shù)據(jù)庫的標(biāo)準(zhǔn)方法 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
'以下關(guān)閉并釋放記錄集語句
rs.close
set rs=nothing
'調(diào)用斷開數(shù)據(jù)庫連接子函數(shù)
Call CloseConn()
%>
根據(jù)這個標(biāo)準(zhǔn),我對我的網(wǎng)站程序進行地氈式的排查、補漏,最后我的網(wǎng)站終于得于正常訪問,再也沒有出現(xiàn)以前數(shù)據(jù)庫死鎖的情況了。
您可能感興趣的文章:
相關(guān)文章
asp+javascript實現(xiàn)404頁的處理轉(zhuǎn)換
用404來來解決頁面路徑的變換的方法2008-06-06asp實現(xiàn)計算兩個時間內(nèi)的工作日的函數(shù)
asp實現(xiàn)計算兩個時間內(nèi)的工作日的函數(shù)...2007-08-08