Sorgfältige Entwickler denken manchmal, dass, wenn wir Code wie
<!-- #include file="conn.asp" -->
in eine Seite einbinden, die in die Datenbank lesen und schreiben muss, in der Tat, wenn Sie keine Lese- oder Schreibvorgänge durchführen Schreiben Während Datenbankoperationen ist die Datenbankverbindung noch geöffnet und verbraucht weiterhin Serverressourcen.
Gibt es also eine Möglichkeit für uns, die Datenbankverbindung nur dann zu öffnen, wenn die Datenbank gelesen werden muss, und es keine Aktion gibt, wenn sie nicht gelesen wird? Diese Idee wird unten bereitgestellt, um andere zu inspirieren.
Diese Idee besteht darin, den Datenbankverbindungscode in einer Funktion zu kapseln und diese Funktion aufzurufen, wenn ein Lesen erforderlich ist.
Das Folgende ist der SQL-Verbindungscode:
Funktion Open_conn()
dim Conn,Strconn
set Conn=server.createobject("adodb.connection")
Strconn = "Provider = Sqloledb; Benutzer-ID = Datenbank-Anmeldekonto; Passwort = Datenbank-Anmeldepasswort; Erstkatalog = Datenbankname; Datenquelle = (lokal);"
Conn.open Strconn
setze Open_conn=Conn
Wenn Sie sich irren, dann
ähm.Klar
Conn.close:set Conn=nothing
Response.Write „Entschuldigung, Datenbankverbindungsfehler.“
Antwort.Ende
Ende wenn
der Funktion beenden
:
Ändern Sie den ursprünglichen
rs.open sql, conn
in
rs.open sql, Open_conn().
Das Folgende ist der ACCESS-Verbindungscode:
Funktion Open_conn().
dim Dbpath,Conn
Dbpath=server.MapPath("Datenbankpfad")
set Conn=server.createObject("ADODB.connection")
Conn.open "data source="&dbpath&";provider=microsoft.Jet.OLEDB.4.0;"
setze Open_conn=Conn
Wenn Sie sich irren, dann
ähm.Klar
Conn.close:set Conn=nothing
Response.Write „Entschuldigung, Datenbankverbindungsfehler.“
Antwort.Ende
Ende wenn
der Funktion beenden
:
Ersetzen Sie das Original
rs.open sql, conn
geändert zu
rs.open sql, Open_conn()
stellt übrigens einen alten Code bereit, der die ACCESS-Datenbank für mehrere Websites auf demselben Server freigeben kann. Vielleicht können einige Freunde ihn verwenden:
Manchmal haben wir viele Domänennamen der zweiten Ebene, und wir brauchen sie möglicherweise Damit diese Domänennamen der zweiten Ebene eine bestimmte ACCESS-Datenbank aufrufen können. Wenn Sie keine SQL-Datenbank verwenden möchten, können die folgenden Methoden für die Datenbankverbindung verwendet werden. (Besonderer Hinweis: Wenn Ihr Server über FSO-Sicherheitsberechtigungen verfügt, müssen Sie dieses Datenbankverzeichnis so festlegen, dass die IIS-Benutzer jeder Station, die Sie anrufen müssen, Zugriff und Änderungen haben.)
Der folgende physische Pfad zur Datenbank ähnelt E: Verzeichnis VerzeichnisDatenbankname
dim Conn, Strconn
Setze Conn = Server.CreateObject("ADODB.Connection")
Strconn="Provider = Microsoft.Jet.OLEDB.4.0; "
Strconn=Strconn & „Datenquelle=Physischer Datenbankpfad“
Conn.Open Strconn
Wenn Sie sich irren, dann
ähm.Klar
Conn.close:set Conn=nothing
Response.Write „Entschuldigung, Datenbankverbindungsfehler.“
Antwort.Ende
Ende wenn