Hallo zusammen,
bei einer TADOQuery ist es ja möglich, das Ergebnis aus einer Abfrage mit SaveToFile in eine Datei zu schreiben und mit LoadFromFile wieder aus dieser zu lesen. Nun wollte ich diese Funktion nutzen, um Kunden, bei denen Probleme auftreten, besser helfen zu können, indem diese mir schnell die relevanten Daten bereitstellen können (ohne gleich einen echten Datenbank-Backup machen zu müssen oder so), die ich dann bei mir importieren und falls nötig mit dem Debugger in aller Ruhe analysieren kann.
Soweit der Plan. Das Exportieren der Daten, also der Ergebnismenge einer Abfrage, klappt auch tadellos. Einfach "SaveToFile" von TADOQuery aufgerufen und noch nicht mal einer Sekunde ist auch eine größere Datenmenge auf die Platte geschrieben (zumindest jetzt gerade erst mal im lokalen Test).
Nun wollte ich die so entstandenen Dateien wieder einlesen und diese als Ergebnis der Abfrage benutzen, anstelle die wirklich auf einem Server auszuführen. Prinzipiell klappt genau das auch mit "LoadFromFile" problemlos: Die Daten werden geöffnet und ich kann sie im Programm verarbeiten, als kämen sie direkt vom Server. Toll!
Aaaaaber: das Ganze macht mir richtig Probleme, sobald viele Datensätze im Ergebnis sind. Dabei, so merke ich gerade, ist es völlig egal, ob ein einzelner Datensatz viele Felder und Infos hat, sondern nur die Anzahl der Datensätze scheint ihm das Genick zu brechen. Das Problem ist dann nämlich, dass die Verabeitung immer langsamer und langsamer wird.
So etwas ähnliches hatte ich früher schon einmal, damals nur beim direkten Zugriff auf den Server. Damals hat es geholfen, etwas an den Cursor-Einstellungen rumzuspielen. Habe ich gerade auch wieder versucht, aber bisher erfolglos.
Hat jemand eine Idee, wo man hier noch etwas schrauben kann? Wäre zu schade, wenn ich diese großartige Funktion nicht nutzen könnte...
Gespannt auf Tipps hoffend
Bommel