Veröffentlicht 5. September 200420 j Hallo, ich bekomme folgende Fehlermeldung: Zusätzliche Tabellen können nicht geöffnet werden Ich benutze CDaoDatabase und CDaoRecordset. DBOpen: AfxDaoInit(); db->Open(sFilepath, FALSE, FALSE, ""); Beim Selektieren von Daten: CDaoRecordset *Rs = new CDaoRecordset(g_db); Rs->Open(AFX_DAO_USE_DEFAULT_TYPE,sSql); Rs->GetFieldValue(sSpalte); Rs->Close(); delete Rs; Dieses Vorgehen funktioniert. Nur wenn ich öffters Daten Selektiere erhalte ich oben Angegebene Fehlermeldung. Wie kann ich die geöffneten Tabellen wieder schließen? Bzw. was soll ich ändern damit ich die Fehlermeldung nicht mehr erhalte? Gruß LT
5. September 200420 j Ja hab ich, ich denke das es nicht daran liegt, sondern das die Tabellen, die geöffnet werden nicht geschlossen werden. Nur wie kann ich die schließen?
5. September 200420 j ich denke das es nicht daran liegt, sondern das die Tabellen, die geöffnet werden nicht geschlossen werden. Es liegt wahrscheinlich am internen Limit in der JET-Engine. Wenn ich mich richtig erinnere, wurde das beim Wechsel von 2.5 auf 3.0 mal eben verdoppelt. Nur wie kann ich die schließen?Auf die internen Vorgänge der Engine hast du über die DAO-Wrapper praktisch keinen direkten Einfluss. Brauchst du den Schreibzugriff? Wenn nicht, könntest du den dritten Parameter bei CDaoDatabase::Open auf TRUE setzen. Erzeugst du sehr oft einen neuen Recordset, auch wenn sich die Daten nicht oft ändern? Falls ja, könntest du versuchen, die Daten im Programm zu cachen. Es könnte auch helfen, hin und wieder das Database-Objekt neu zu erstellen.
5. September 200420 j danke, ich glaub ich werd öffters mal die DB schließen und wieder öffnen Schade dass es keine sauberere Methode gibt
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.