Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
:wall: Hmmm! Meine Begeisterung war vielleicht etwas voreilig.
Es kann ja auch vorkommen, dass ein Rave Report einfach nur das Ergebnis einer Aufsummierung anzeigen soll. Um also den Einwand aus #3 zu entkräften, kann man ja einfach mal annehmen, dass eine Million Datensätze, die dann vielleicht noch über zwei left joins mit anderen Tabellen verknüpft sind, gelesen und addiert werden müssen....
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
:-D Hab zwar keine Antwort auf meine ursprüngliche Frage erhalten, aber dank Eurer Hinweise dennoch eine Lösung für mein Problem gefunden. Ich trage jetzt beim ClientDataSet in der Eigenschaft "PacketRecords" einen Wert abweichend vom Default -1 ein (z.B. 500). Dann wird das ClientDataSet.Open ausgeführt, holt sich aber erst einmal nur 500 Datensätze. Anschließend läuft mein Programmcode weiter...
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
Also nach Euren Kommentaren habe ich mir das noch einmal genauer angesehen. Wie gesagt, ich rufe an der Stelle, um die es mir geht, einfach nur ClientDataSet.Open auf. Aber im Hintergrund passiert natürlich mehr. Das ClientDataSet ist mit einem DataSetProvider verknüpft, der sich die Daten über ein SQLDataSet holt. Das SQLDataSet greift auf den Firbird Server zu. Nach dem OPEN des ClientDataSet...
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
Wohl kaum, aber alles weitere geschieht dann im Rave.
Die Diskussion führt inzwischen in eine völlig falsche Richtung. Ich möchte einfach nur nach dem OPEN noch Zugriff von außen haben. Warum das OPEN nun langwierig ist oder nicht ist in diesem Zusammenhang ja eigentlich völlig unerheblich.
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
Nein, da so eine Schleife in meinem Programm nicht existiert. Ich rufe ja nur - wie in #1 erwähnt - ClientDataSet.Open auf. Danach wird die Datenmenge von Rave weiter verwendet. Bei der Erzeugung des Rave Reports ist eine Unterbrechung möglich, beim OPEN aber noch nicht zuverlässig. Ich werde jetzt mal prüfen, ob eine explizite Transaktion irgendetwas ändert. Bin aber weiter für Hinweise dankbar....
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
@haentschman
Im Prinzip ist Firebird in der Tat extrem schnell. Aber, wenn ich z.B. eine Inventurliste mit sagen wir mal 400 Seiten drucke, kann das eben doch eine (kurze) Weile dauern, bis die Daten verfügbar sind. Erst recht, wenn die Abfrage online über eine VPN-Anbindung erfolgt. Und wenn der Anwender dann merkt, dass er die Liste vielleicht doch grad gar nicht haben möchte, sollte es...
Forum: Datenbanken
Delphi
by daddy,
12. Feb 2010
Ich arbeite mit Firebird und IBExpress und möchte dem Anwender die Möglichkeit bieten, einen langwierigen Select-Befehl wieder abzubrechen. Hier ergeben sich nun zwei Probleme, nachdem ich das ClientDataSet.Open aufgerufen habe.
1. Ich muss ein geeignetes Ereignis (z.b. Tastendruck oder Mausklick) abfangen, obwohl das Programm das OPEN ausführt.
2. Ich muss dann das OPEN von außen stoppen...