Hallo,
Ich finde es Super das diese Forum wieder eröffnet wurde und das neue Layout sieht auch gut aus ! :)
Jupp, das finde ich auch.
Ich habe eine Seite erstellt wo eben diese ASP-Komponente mehrere POP3-Konten abruft (jede 5 min.) und diese dann in eine DB schreibt.
Jedesmal wenn die Seite die Konten abruft können keine anderen ASP-Seiten aufgerufen werden, sie sind einfach blockiert.
Nach einer gewissen Zeit löst sich die Blockade und man kann bis zum nächsten Mailabruf weiterarbeiten.Hat jemand einen Tip woran das liegen kann ???
welche MDAC Version ist denn auf dem Server installiert.
Bei MDAC 2.x gibt es eine klitzekleine Änderung bzgl.
Objekterstellung innerhalb von Schleifen.
Dieser Code z.B.: bringt den Server fast zum Stillstand
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN","",""
Do While Not MailAbruf.EOF ' oder deine Abbruchbedingung
SQL = "INSERT INTO ..."
Set rs = conn.Execute SQL
' --- vorige Zeile ersetzen durch: conn.execute SQL (ohne Set rs ...)
MailAbruf.MoveNext
Loop
conn.Close
Set conn = Nothing
%>
Andere generelle Möglichkeit (nicht auf deine Frage zugeschnitten)
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN","",""
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT Spalte ..."
rs.Open SQL, conn, 3, 3
Set rs2 = Server.CreateObject("ADODB.Recordset")
Do While Not rs.EOF
SQL2 = "SELECT ..."
rs2.Open SQL2, conn, 3, 3
...
rs2.Close
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
%>
Auf jeden Fall würde ich mal hinter jedem Aufruf oder Schleifendurchlauf
die aktuelle Zeit ausgeben, damit Du siehst, welche Funktion so
zeitraubend ist.
Ein evtl. eingebautes Response.Buffer für den Test auf False setzen.
Solltest Du irgendwo ein Application.Lock drinhaben, schmeiß es auch mal raus.
Tschau, Stefan