Es kann innerhalb eines bestimmten Zeitraums des Tages nicht geöffnet werden. Nach mehreren Minuten Wartezeit wird angezeigt, dass das ASP-Skript abgelaufen ist, sich aber über FTP anmelden kann. Beim Überprüfen des Datenbankverzeichnisses habe ich eine Datei mit Datensatzsperrinformationen gefunden Derselbe Name wie die Datenbank (meine Datenbank ist eine Access-Datenbank) (.ldb-Datei) war immer vorhanden, also habe ich mich im Verwaltungsbereich des Hosts angemeldet und den Website-Dienst neu gestartet. Die ldb-Datei verschwand und die Website wurde normal geöffnet. Einige Stunden später trat die Situation erneut auf. Die Website wurde später vom virtuellen Host-Anbieter gesperrt Mir wird gesagt, dass meine Website vorübergehend blockiert ist, da sie beim Ausführen viele CPU-Ressourcen verbraucht, damit ich das Website-Programm oder die Datenbank optimieren kann.
Ich habe auf Baidu nach dieser Situation gesucht und viele Ergebnisse gefunden. Zusammenfassend lässt sich sagen, dass der Datensatz nach dem Zugriff auf die Datenbank nicht rechtzeitig freigegeben wurde und die Datenbankverbindung nicht getrennt wurde die Access-Datenbank:
1. Datenbankverbindungsmethode: Conn.asp
<%
schwacher Anschluss
dimmen connstr
dimdb
db=database/data.mdb
Setze conn = Server.CreateObject(ADODB.Connection)
connstr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Server.MapPath(&db&)
conn.Open connstr
Wenn Sie sich irren, dann
ähm.Klar
SetConn=Nichts
Response.Write Der Server wird gerade gewartet. Bitte versuchen Sie es später noch einmal.
Antwort.Ende
Ende wenn
SubCloseConn()
'Das Folgende ist die Anweisung zum Trennen der Datenbank
Verbindung schließen
setze conn=nichts
Sub beenden
%>
2. Schließen Sie den Release-Datensatz
rs.close
setze rs=nichts
3. Trennen Sie die Datenbankverbindung
Verbindung schließen
setze conn=nichts
Durch die Kombination der oben genannten drei Inhalte wird die folgende Standardmethode für den Betrieb der Access-Datenbank Test.asp erhalten
<!--#include file=conn.asp -->
<%
sql=select * from table order by id
set rs=server.createobject(adodb.recordset)
rs.open sql,conn,1,1
wenn nicht rs.eof dann
tel=rs(tel)
fax=rs(fax)
Ende wenn
'Im Folgenden wird die Recordset-Anweisung geschlossen und freigegeben
rs.close
setze rs=nichts
'Rufen Sie die Unterfunktion auf, um die Datenbank zu trennen
Rufen Sie CloseConn() auf
%>
Basierend auf diesem Standard habe ich mein Website-Programm gründlich überprüft und korrigiert. Schließlich war meine Website endlich normal zugänglich und die vorherige Datenbank-Deadlock-Situation trat nicht mehr auf.