Stefan Falz: Rs.Close.. Für was eigentlich ?

Beitrag lesen

HAllo Stephan,

Hallo Namenloser,

Also ich möchte Euch fragen wozu man den Recordset oder die ODBC Verbindung schliessen sollte?

Es funktioniert ja auch ohne, bitte klärt mich auf, wo die vor oder nachteile sind

Es funktioniert, weil die meisten Datenbankserver nach einer gewissen Zeit ohne Anfragen die Connection automatisch killen (die Programmierer der Server sind sich wohl bewußt, daß die meisten User faule Säcke sind, die die Connection nicht wieder schließen ;-).) Wenn Du wirklich viel Traffic hast, ist es aber besser, Du schließt die Con, bevor Sie der db-Server abschießt, um Ressourcen freizugeben, bei normalen Sites ohne übermäßigen Traffic spielt das keine Rolle

Wichtiger als das Schliessen des Recordsets (oder der Connection) ist
das Terminieren des Objekts (Set obj = Nothing), da dieses Objekt
den Speicher doch ziemlich belastet und nicht (auch wenns in der Doku
von MS so steht) automatisch beim Beenden des Skripts zerstört wird.
Auf Dauer wird die Performance doch ziemlich beeinträchtigt, daher
gilt:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DSN", "UID", "PWD"
Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open SQL, objConn

... ' Sonstiger ASP-Code

objRS.Close
Set objRS = Nothing
    objConn.Close
Set objConn = Nothing
%>

Das gilt natürlich auch für alle anderen Objekte, die erstellt wurden
(zumindest Set obj = Nothing, da manche Objekt ja keine Methode Close
haben)

Tschau, Stefan