Hallo, ich benutze Crystal Reports. Damit habe ich bereits mehrere Reports erstellt die auch schnell erstellt und gedruckt werden.
Bei einem Report habe ich jedoch ein Problem.
Es handelt sich um ein Report mit einem Dataset mit 2 Tabellen (Kunden, Artikel).
In der Ausgabe soll zu jedem Kunden die bestellten Artikel für einen festen Zeitbereich angezeigt werden. Das Erstellen des DataSets ist in einpaar Sekunden erledigt. Bei den Demodaten sind es 808 Kunden nd 1630 Artikelpositionen.
An der Stelle an der der Report gedruckt (report.PrintToPrinter) oder gespeichert (report.SaveAs) wird, dauert die Routine ca. 40 Minuten, was viel zu lange ist. Es handelt sich bei der Software um eine Neuentwicklung. Die bisherige Version ist in Fox Pro erstellt. Das Erstellen und Drucken des Reports aus der alten Anwendung dauert ca. 3 Minuten.
Auch habe ich bemerkt, das beim spoolen der alte Fox Pro Report pro Seite ca 0,03 MB benötigt und der Crystal Report 0,16MB. Wieso ist der Report mehr als 5 mal so gross? In dem Report sind nur Linien und Texte.
Ich hoffe auf eure Hilfe.
Gruss
.tim
Solange dauert das normalerweise nicht. Irgendwo muss da ein Fehler sein, denke ich.
Ich wüsste nicht was. Auf das Rendern habe ich keinen Einfluss. Die Berechnungen innerhalb der Reports werden korrekt durchgeführt. Das Resultat ist richtig, aber wieso dauert es so lange. Ist die in VS2005 enthaltene Version vielleicht nicht so leistungsstark?
Also ein Arbeitskollege von mir hat sogar eine komplette Vereinszeitung mit sehr vielen Unterberichten mit der in Visual Studio integrierten Version von Crystal gemacht und die wurde auch schnell gerendert und gedruckt. An der leistungsfähigkeit sollte es also nicht liegen.
Ich würde die einzelnen Schritte mal genauer untersuchen.
Wie geht der Datenzugriff von statten? Direkte DB-Anbindung mit Crystal oder manuelle befüllen der Reports über Schnittstellen/DataSets?
Wie lange dauert das füllen der DataSets bzw. das Abrufen der Daten ohne Crystal, wenn Du die selben SELECTs verwendest?
Sind in der Datenbank die Indizes korrekt gesetzt (Also pro komplettem Filterkriterium ein Index)? Alleine dadurch lässt sich die Leistung oft vervielfachen.
Hallo .tim,
also ich kämpfe schon seit Jahren mit der Christel.
Bei mir lag das weniger an den Datenbankzugriffen, mehr an der Gruppierung im Bericht.
Du kannst bei CR 9 z.B. unter dem Menüpunkt Bericht: Leistungsinformation - einsehen, wie lang die Christel für die Anzeige welcher Bereiche braucht. Bei mir war es immer so, je mehr Gruppierung, je länger die Laufzeit.
Katja