![]() |
Fast Report PrepareRaport
Guten Tag zusammen,
ich habe erstellten Report zur Optimierung bekommen und folgendes Problem: Das Auslesen der Daten aus der Datenbank geht erwartungsgemäß schnell, bei 3 gelesenen Reports a 6 Seiten wird durch Aufruf von PrepareReport jedoch eine Zeit für die Voransicht von ca. 2,5 Minuten benötigt. In der Realität werden jedoch nicht nur 3 Reports a 6 Seiten sondern um die 100 Reports benötigt, für die Darstellung würden ca. 2 - 3 Stunden benötigt. Warum ist PrepareReport so langsam und kennt jemand eine Lösung für dieses Problem? Vielen Dank Michael Cohrs |
AW: Fast Report PrepareRaport
Hi,
mal so auf die Schnelle aus dem FR Forum: frxReport1.EngineOptions.MaxMemSize:=200; frxReport1.EngineOptions.UseFileCache:=True; Vielleicht hilft es ja schon. Welche IDE bzw. FR Version setzt du ein? Grüße Steku |
AW: Fast Report PrepareRaport
1- oder 2-Pass Reports? (2-Pass braucht man z.B., um die Gesamtsumme schon auf der ersten Seite anzeigen zu können oder auch die Gruppensummen im Gruppenkopf) Komplexe Berechnungen in der Scriptsprache, die ebenfalls die DataSets mehrfach durchgraben? Da nutzt auch ein schneller Einmalzugriff nix, vor allem wenn die Queries x-fache JOINs darstellen, womöglich auf etliche Views usw.
Wir haben diese Probleme umschifft, indem wir alle Reports auf temporäre Tabellen (detached ClientDataSets) zugreifen lassen und nie direkt auf die Queries. |
AW: Fast Report PrepareRaport
Guten Morgen Steku, guten Morgen Frickler,
erst einmal vielen Dank für eure Antworten!! @ Steku: die Einstellungen habe ich bereits vorgenommen, haben aber leider keinen Erfolg gebracht :( Wir setzen Delphi Seattle ein und nutze den dort enthaltenen Fastreport, die Version habe ich leider nicht im Kopf, bin heut nicht in der Firma. @ Frickler: Es sind 2-Pass Reports. Dein Ansatz / Lösung kling vielversprechend, hast Du vielleicht ein Beispiel für mich an dem ich mich Orientieren kann, ich habe bisher keine Erfahrung damit. |
AW: Fast Report PrepareRaport
Servus,
Zitat:
Macht ihr irgend welche Berechnungen innerhalb der Reports? Werden Events vom Report gefeuert und durch die Anwendung abgearbeitet? Grüße |
AW: Fast Report PrepareRaport
Guten Morgen Lemmy,
die Reports werden zusammengebaut zu einem, innerhalb der Reports werden noch SQL Statements ausgeführt, Die SQL`s außerhalb der Reports sind für die Komplexibilität verhältnismäßig schnell, es hackt / hängt nur an der Fastreportroutine PrepareReport, soviel habe ich herausfinden können. Viele Grüße Michael |
AW: Fast Report PrepareRaport
Und iwe baust Du die zusammen? Setzt du die PreparedReports zusammen oder packst Du einfach
ReportA PrepareREport +ReportB PrepeareReport +ReportC PrepareReport Die Teile zusammen? Da ist es dann klar, dass Prepare verdammt lange dauert, da bei jedem Prepare ALLE Reports neu aufgebaut werden. Wenn Du unterschiedliche Reports zusammen bauen willst, dann musst Du so vorgehen: 2 frxReport Komponenten: frx1: zum Prepare frx2: zum halten der vorbereiteten Reports frx1.LoadFromFile(<>); frx1.PrepareReport(true); frx2.Pages.AddPrepared(frx1.Page) das habe ich mit einigen dutzend Reportvorlagen gemacht und Reports mit mehreren hundert Seiten generiert die sich zur Laufzeit aufgrund der Eingabedaten dynamisch zusammen gestellt haben, incl. Inhaltsverzeichnis! HInweis: Code ist von fr3, sollte aber so, bzw. mit kleinen Abweichungen auch noch unter fr4 und neuer laufen. Edit: da ist er: ![]() |
AW: Fast Report PrepareRaport
Danke Lemmy,
in der Tat werden die Teile einfach zusammen gepackt, das habe ich so übernommen und soll es optimieren (verständlicher weise) sag hast Du hierfür ein exemplarischen Codesnipsel an dem ich mich orientieren kann, das wäre sehr nett und würde mich echt weiterhelfen.... Viele Grüße Michael |
AW: Fast Report PrepareRaport
Ach übrigens, die erstellen Reports können nicht
als File gespeichert werden deshalb geht hier Loadfromfile nicht... |
AW: Fast Report PrepareRaport
Danke für das Beispiel, ich werde es Morgen gleich ausprobieren, wäre ja cool wenn das so läuft!!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz