Asp 操作Access數(shù)據(jù)庫(kù)時(shí)出現(xiàn)死鎖.ldb的解決方法
更新時(shí)間:2009年04月09日 16:16:28 作者:
在一天某個(gè)時(shí)間段內(nèi)打不開(kāi),等待好幾分鐘就會(huì)說(shuō)asp腳本超時(shí),但FTP可以登陸進(jìn)去,查看數(shù)據(jù)庫(kù)目錄時(shí),發(fā)現(xiàn)與數(shù)據(jù)庫(kù)(我的數(shù)據(jù)庫(kù)是access數(shù)據(jù)庫(kù))同名的記錄鎖定信息文件 (.ldb文件)一直都在那里
于是我登陸主機(jī)的管理面板,重啟了網(wǎng)站服務(wù),ldb文件就消失了,網(wǎng)站打開(kāi)也正常了,但過(guò)了數(shù)小時(shí)后,網(wǎng)站又再次出現(xiàn)以上情況,此種情況持續(xù)了好一段時(shí)間,網(wǎng)站后來(lái)被虛擬主機(jī)的供應(yīng)商屏蔽了,反饋給我的說(shuō)法是因?yàn)槲业木W(wǎng)站運(yùn)行時(shí)大量占用CPU資源,所以予暫時(shí)屏蔽,讓我對(duì)網(wǎng)站程序或數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化。
在百度上搜索了一下這方面的情況,結(jié)果也不少,總結(jié)下來(lái)主要都是因?yàn)閷?duì)數(shù)據(jù)庫(kù)存取完后,沒(méi)有及時(shí)釋放記錄集和斷開(kāi)數(shù)據(jù)庫(kù)連接,以下談?wù)劜僮鰽ccess數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法:
1、數(shù)據(jù)庫(kù)連接方法: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ù)器正在維護(hù),請(qǐng)稍后再試。"
Response.End
End If
Sub CloseConn()
'以下是斷開(kāi)數(shù)據(jù)庫(kù)連接語(yǔ)句
conn.close
set conn=nothing
End Sub
%>
2、關(guān)閉釋放記錄集
rs.close
set rs=nothing
3、斷開(kāi)數(shù)據(jù)庫(kù)連接
conn.close
set conn=nothing
結(jié)合以上三個(gè)內(nèi)容,得出以下操作Access數(shù)據(jù)庫(kù)的標(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)閉并釋放記錄集語(yǔ)句
rs.close
set rs=nothing
'調(diào)用斷開(kāi)數(shù)據(jù)庫(kù)連接子函數(shù)
Call CloseConn()
%>
根據(jù)這個(gè)標(biāo)準(zhǔn),我對(duì)我的網(wǎng)站程序進(jìn)行地氈式的排查、補(bǔ)漏,最后我的網(wǎng)站終于得于正常訪問(wèn),再也沒(méi)有出現(xiàn)以前數(shù)據(jù)庫(kù)死鎖的情況了。
在百度上搜索了一下這方面的情況,結(jié)果也不少,總結(jié)下來(lái)主要都是因?yàn)閷?duì)數(shù)據(jù)庫(kù)存取完后,沒(méi)有及時(shí)釋放記錄集和斷開(kāi)數(shù)據(jù)庫(kù)連接,以下談?wù)劜僮鰽ccess數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法:
1、數(shù)據(jù)庫(kù)連接方法: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ù)器正在維護(hù),請(qǐng)稍后再試。"
Response.End
End If
Sub CloseConn()
'以下是斷開(kāi)數(shù)據(jù)庫(kù)連接語(yǔ)句
conn.close
set conn=nothing
End Sub
%>
2、關(guān)閉釋放記錄集
rs.close
set rs=nothing
3、斷開(kāi)數(shù)據(jù)庫(kù)連接
conn.close
set conn=nothing
結(jié)合以上三個(gè)內(nèi)容,得出以下操作Access數(shù)據(jù)庫(kù)的標(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)閉并釋放記錄集語(yǔ)句
rs.close
set rs=nothing
'調(diào)用斷開(kāi)數(shù)據(jù)庫(kù)連接子函數(shù)
Call CloseConn()
%>
根據(jù)這個(gè)標(biāo)準(zhǔn),我對(duì)我的網(wǎng)站程序進(jìn)行地氈式的排查、補(bǔ)漏,最后我的網(wǎng)站終于得于正常訪問(wèn),再也沒(méi)有出現(xiàn)以前數(shù)據(jù)庫(kù)死鎖的情況了。
您可能感興趣的文章:
- Java的MyBatis框架中對(duì)數(shù)據(jù)庫(kù)進(jìn)行動(dòng)態(tài)SQL查詢的教程
- java配置dbcp連接池(數(shù)據(jù)庫(kù)連接池)示例分享
- java配置數(shù)據(jù)庫(kù)連接池的方法步驟
- asp.net 數(shù)據(jù)庫(kù)連接池淺析
- Tomcat 5.5 數(shù)據(jù)庫(kù)連接池配置
- .net數(shù)據(jù)庫(kù)連接池配置技巧(默認(rèn)值)
- eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置數(shù)據(jù)庫(kù)連接池
- Mybatis update數(shù)據(jù)庫(kù)死鎖之獲取數(shù)據(jù)庫(kù)連接池等待
相關(guān)文章
asp下用實(shí)現(xiàn)模板加載的的幾種方法總結(jié)
asp下html模板的加載方法,一般有以下幾種,大家可以根據(jù)情況自己決定,結(jié)果都是一樣的,都是好方法2008-01-01
pjblog實(shí)現(xiàn)類似CMS的首頁(yè)調(diào)用
pjblog實(shí)現(xiàn)類似CMS的首頁(yè)調(diào)用...2007-02-02
asp實(shí)現(xiàn)的sha1加密解密代碼(和C#兼容)
這篇文章主要介紹了asp實(shí)現(xiàn)的sha1加密解密代碼,可以和ASP.NET(C#)相互兼容,需要的朋友可以參考下2014-08-08
研究動(dòng)網(wǎng)得到的一些動(dòng)網(wǎng)參數(shù)
研究動(dòng)網(wǎng)得到的一些動(dòng)網(wǎng)參數(shù)...2006-11-11
ASP 支持中文的len(),left(),right()的函數(shù)代碼
在用ASP處理文字時(shí)。系統(tǒng)自帶的字符串長(zhǎng)度檢測(cè)函數(shù)有時(shí)候也不是很好用。2010-05-05
通過(guò)Response.Flush()實(shí)現(xiàn)下載失敗的解決方法
Response.Flush()實(shí)現(xiàn)對(duì)服務(wù)端文件的下載時(shí),會(huì)失敗,不能正常彈出IE下載框,通過(guò)測(cè)試發(fā)現(xiàn)時(shí)瀏覽器的安全設(shè)置問(wèn)題,如下操作便可解決2013-08-08
動(dòng)網(wǎng)防惡意廣告比較有效的辦法附asp代碼
動(dòng)網(wǎng)防惡意廣告比較有效的辦法附asp代碼...2007-05-05
ASP獲取ACCESS數(shù)據(jù)庫(kù)表名及結(jié)構(gòu)的代碼
此方法可獲得ACCESS數(shù)據(jù)的表名及其結(jié)構(gòu),數(shù)據(jù)類型等... 程序過(guò)濾了幾個(gè)ACCESS數(shù)據(jù)庫(kù)的幾個(gè)隱藏表(可能是導(dǎo)致ACCESS數(shù)據(jù)庫(kù)刪除數(shù)據(jù)還會(huì)變大的原因)2008-08-08

