Tom2: /(DB) Abbruch nach 62 Zugriffen

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:

  • 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 ;-).

  1. 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

    1. 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

    2. 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

  2. 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 ;-).

    1. 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