/(DB) Abbruch nach 62 Zugriffen
Tom2
- asp.net
Hallo Leute
Ich hab da wieder einmal ein kleines Problem mit ASP und einer Access-DB.
Die Situation sieht folgendermassen aus: Ich entwickle momentan eine kleine Webapplikation, die bis jetzt auch läuft. Zu Testzwecken verwende ich eine MS-Access-DB, welche später durch einen MS-SQL-Server ersetzt wird.
Zum Problem: Ich hab ein kleines Skript geschrieben, welches mir die Datenbank mit Testdaten füllt. Das Skript läuft eigentlich auch, solange man nicht mehr als 62 Datensätze auf einmal neu eintragen will - Sind es mehr, so bricht das Skript beim 63. ab und gibt folgende Fehlermeldung aus:
Error in DBConn(): -2147467259
Microsoft JET Database Engine, Unspecified error
DBConn() ist eine Funktion von mir welche eine Verbindung zu einer DB herstellt (es wird noch kein Query ausgeführt). Da ich aus dem Fehler nicht klug wurde hab ich mal den On Error Resume Next in der DBConn() entfernt und danach folgende Meldung erhalten:
Microsoft JET Database Engine error '80004005'
Unspecified error
/hospenth-ori/mac/asplib.asp, line 17
Linie 17 in der asplib.asp ist die folgende Zeile der DBConn()-Funktion:
objDB.Open strDB
Nun gut, schlau wurde ich daraus immer noch nicht. Mir ist vorallem unklar, wieso der Fehler erst beim 63. Mal auftritt. Das ScriptTimeout hab ich versuchsweise hochgestellt, hat jedoch nichts geändert. Im Netz hab ich auch keine hilfreichen Informationen gefunden.
Noch was zu meinem Skript, ev. liegt da ja der Fehler:
Ich hab mal versuch die DB-Verbindung offen zu halten und einfach so die Querys im Loop auszuführen, hat jedoch auch nicht geklappt.
Kann mir von euch jemand helfen?
MfG und besten Dank
Tom2
PS: Ich hoffe ich hab mich einigermassen verständlich ausgedrückt und muss nicht wieder in x Postings erklähren, wie alles gemeint war ;-).
Hallo,
öffnest du die db verbindung etwa uch jedesmal in der schleife?
solltest du vor und nach dem script einmal öffnen bzw. beenden...
eventuell schließt du falsch und die maximale anzahl an mgl. verbindungen wird erreicht...
Odium
Hallo,
Hi
öffnest du die db verbindung etwa uch jedesmal in der schleife?
solltest du vor und nach dem script einmal öffnen bzw. beenden...
eventuell schließt du falsch und die maximale anzahl an mgl. verbindungen wird erreicht...
evtl. noch mit SET dbconn = NOTHING
Odium
Benne
Hallo Odium, mein Retter :)
öffnest du die db verbindung etwa uch jedesmal in der schleife?
Versuchsweise ja, normalerweise jedoch nicht.
solltest du vor und nach dem script einmal öffnen bzw. beenden...
Ja, das ist mir klar
eventuell schließt du falsch und die maximale anzahl an mgl. verbindungen wird erreicht...
Vielen Dank, das wars! Ich hab das 'objDB.close' vergessen und nur 'Set objDB = Nothing' gesetzt. Jetzt klappts. Nochmals vielen Dank.
MfG
Tom2
Hallo,
meine Vorredner haben das Problem _evtl._ schon beheben können, trotzdem meine Frage: was steht (prinzipiell...keine Echtdaten) in strDB ? Hast Du evtl. eine Systemdatenquelle, wenn ja, auf welchen Wert ist ihr ODBC-Puffer eingestellt?
Grüsse
Uwe
Error in DBConn(): -2147467259
Microsoft JET Database Engine, Unspecified error
DBConn() ist eine Funktion von mir welche eine Verbindung zu einer DB herstellt (es wird noch kein Query ausgeführt). Da ich aus dem Fehler nicht klug wurde hab ich mal den On Error Resume Next in der DBConn() entfernt und danach folgende Meldung erhalten:
Microsoft JET Database Engine error '80004005'
Unspecified error
/hospenth-ori/mac/asplib.asp, line 17
Linie 17 in der asplib.asp ist die folgende Zeile der DBConn()-Funktion:
objDB.Open strDB
Nun gut, schlau wurde ich daraus immer noch nicht. Mir ist vorallem unklar, wieso der Fehler erst beim 63. Mal auftritt. Das ScriptTimeout hab ich versuchsweise hochgestellt, hat jedoch nichts geändert. Im Netz hab ich auch keine hilfreichen Informationen gefunden.
Noch was zu meinem Skript, ev. liegt da ja der Fehler:
- Skript geht in einen Loop
- Einige Dinge werden berechnet und ein SQL-Query generiert
- Das Skript öffnet die Verbindung zur DB
- Der Query wir Ausgeführt
- Verbindungen zur DB werden getrennt- Zurück nach oben ;-)
Ich hab mal versuch die DB-Verbindung offen zu halten und einfach so die Querys im Loop auszuführen, hat jedoch auch nicht geklappt.
Kann mir von euch jemand helfen?
MfG und besten Dank
Tom2
PS: Ich hoffe ich hab mich einigermassen verständlich ausgedrückt und muss nicht wieder in x Postings erklähren, wie alles gemeint war ;-).
Hallo Uwe
meine Vorredner haben das Problem _evtl._ schon beheben können, trotzdem meine Frage: was steht (prinzipiell...keine Echtdaten) in strDB ? Hast Du evtl. eine Systemdatenquelle, wenn ja, auf welchen Wert ist ihr ODBC-Puffer eingestellt?
Sorry, das hab ich vergessen mitzuposten. In der strDB ist der ADO Connection-String. Momentan läuft das ganze noch über die OLE DB, beim MS-SQL-Server wird es dann jedoch über ODBC laufen. Bei mir sieht der momentan folgendermassen aus:
strDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db\mac.mdb")
Weitere mögliche Connection-Strings findet man unter http://www.able-consulting.com/ADO_Conn.htm
Die Lösung des Problems hat mir Odium bereits gegeben. Trotzdem vielen Dank.
MfG
Tom2