Marcus: ODBC-Fehlermeldung

Guten Morgen !

Ich habe soeben folgende Fehlermeldung bekommen:

Microsoft OLE DB Provider for ODBC Drivers-Fehler '8007000e'

[Microsoft][ODBC Microsoft Access 97 -Treiber] Zusätzliche Tabellen können nicht geöffnet werden.

Was heisst das konkret bzw. für die Zukunft ?

Über jeden Tip bin ich dankbar

mfg

Marcus

  1. Guten Morgen !

    Ich habe soeben folgende Fehlermeldung bekommen:

    Microsoft OLE DB Provider for ODBC Drivers-Fehler '8007000e'

    [Microsoft][ODBC Microsoft Access 97 -Treiber] Zusätzliche Tabellen können nicht geöffnet werden.

    Was heisst das konkret bzw. für die Zukunft ?

    Über jeden Tip bin ich dankbar

    mfg

    Marcus

    Hallo,

    das hört sich stark danach an, als ob Du die Leistungrenze von Access erreicht hast. Problem dürfte entweder eine Abfrage, die über mehr als 5 Tabellen geht (je nach Größe und Struktur der Tabellen können es aber auch mehr sein) oder verschachtelte Queries sein. Eine weitere Möglichkeit wäre das Öffnen zu vieler Tabellen mit einem Connection-Objekt (mehr als 10). Dann solltest Du evtl. ein weiteres Connection-Objekt erstellen und die Recordsets aufzuteilen.

    Tschau, Stefan

    P.S.: Schick doch mal den Quellcode der Seite.

  2. Guten Morgen !

    Ich habe soeben folgende Fehlermeldung bekommen:

    Microsoft OLE DB Provider for ODBC Drivers-Fehler '8007000e'

    [Microsoft][ODBC Microsoft Access 97 -Treiber] Zusätzliche Tabellen können nicht geöffnet werden.

    Was heisst das konkret bzw. für die Zukunft ?

    Über jeden Tip bin ich dankbar

    mfg

    Marcus

    Hallo Marcus,

    hier ein Ausschnitt aus Deinem Quelltext.

    -------------------------------------------------------
        rs.Close
    Set rs = Nothing
        conn.Close
    Set conn = Nothing

    sql = "INSERT INTO Post2 Select * FROM post where weiter = 'Ja'"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    -------------------------------------------------------

    Die Fehlermeldung kommt meines Erachtens vom fehlenden Connection-Objekt, daß Du ja mit Set conn = Nothing zerstörst, aber danach ein neues Recordset-Objekt mit dieser Connection öffnen willst. Der Unterschied zu einem komplett fehlenden Connection-Objekt ist der, daß ASP Objekte erst mit Beenden der Scriptausführung wirklich zerstört, aber trotzdem keine Referenzierung mehr zuläßt.

    Setze also die letzen 3 Zeilen ungefähr so um:

    -------------------------------------------------------
        rs.Close
    Set rs = Nothing
        sql = "INSERT INTO Post2 Select * FROM post where weiter = 'Ja'"
        conn.Execute(sql)
        conn.Close
    Set conn = Nothing
    -------------------------------------------------------

    Tschau, Stefan