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ù)庫的標準方法:
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ù)庫的標準方法 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ù)這個標準,我對我的網(wǎng)站程序進行地氈式的排查、補漏,最后我的網(wǎng)站終于得于正常訪問,再也沒有出現(xiàn)以前數(shù)據(jù)庫死鎖的情況了。
在百度上搜索了一下這方面的情況,結(jié)果也不少,總結(jié)下來主要都是因為對數(shù)據(jù)庫存取完后,沒有及時釋放記錄集和斷開數(shù)據(jù)庫連接,以下談?wù)劜僮鰽ccess數(shù)據(jù)庫的標準方法:
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ù)庫的標準方法 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ù)這個標準,我對我的網(wǎng)站程序進行地氈式的排查、補漏,最后我的網(wǎng)站終于得于正常訪問,再也沒有出現(xiàn)以前數(shù)據(jù)庫死鎖的情況了。
您可能感興趣的文章:
相關(guān)文章
asp下用實現(xiàn)模板加載的的幾種方法總結(jié)
asp下html模板的加載方法,一般有以下幾種,大家可以根據(jù)情況自己決定,結(jié)果都是一樣的,都是好方法2008-01-01
pjblog實現(xiàn)類似CMS的首頁調(diào)用
pjblog實現(xiàn)類似CMS的首頁調(diào)用...2007-02-02
研究動網(wǎng)得到的一些動網(wǎng)參數(shù)
研究動網(wǎng)得到的一些動網(wǎng)參數(shù)...2006-11-11
ASP 支持中文的len(),left(),right()的函數(shù)代碼
在用ASP處理文字時。系統(tǒng)自帶的字符串長度檢測函數(shù)有時候也不是很好用。2010-05-05
通過Response.Flush()實現(xiàn)下載失敗的解決方法
Response.Flush()實現(xiàn)對服務(wù)端文件的下載時,會失敗,不能正常彈出IE下載框,通過測試發(fā)現(xiàn)時瀏覽器的安全設(shè)置問題,如下操作便可解決2013-08-08
ASP獲取ACCESS數(shù)據(jù)庫表名及結(jié)構(gòu)的代碼
此方法可獲得ACCESS數(shù)據(jù)的表名及其結(jié)構(gòu),數(shù)據(jù)類型等... 程序過濾了幾個ACCESS數(shù)據(jù)庫的幾個隱藏表(可能是導(dǎo)致ACCESS數(shù)據(jù)庫刪除數(shù)據(jù)還會變大的原因)2008-08-08

