ODBC-Fehlermeldung
Marcus
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
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.
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