Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um Ihnen die Auswahl des optimalen Berichtbindungsszenarios für Ihre Anwendung zu erleichtern, werden in diesem Abschnitt die Vor- und Nachteile der empfohlenen Szenarien zusammengefasst. Zusätzlich wird erläutert, warum einige Szenarien häufiger zum Einsatz kommen.
Anmerkung |
|---|
Die meisten Websites oder Windows-Projekte können auf den beiden einfachsten Bindungsszenarien aufbauen: Binden an einen eingebetteten oder nicht eingebetteten Bericht. Diese beiden Szenarien werden schrittweise in den Lernprogrammen beschrieben. Bevor Sie diesen Abschnitt lesen, sollten Sie daher erst ein Lernprogramm unter Lernprogramme durcharbeiten. |
Empfohlene Bindungsszenarien für Crystal Reports
Szenarien, in denen Berichte mit dem ReportDocument-Objektmodell gebunden werden, sind Szenarien, in denen das CrystalReportViewer-Objektmodell verwendet wird, generell vorzuziehen. (Siehe Berichtbindung mit ReportDocument-Objektmodell und Berichtbindung mit CrystalReportViewer-Objektmodell.) Dies liegt daran, dass das ReportDocument-Objektmodell eine umfassendere API für die programmgesteuerte Interaktion mit dem Bericht bereitstellt. Weitere Informationen zu den Objektmodellen finden Sie unter Welches Objektmodell sollte verwendet werden?
Die meisten Anwender von Crystal Reports für Visual Studio bevorzugen das Szenario Binden an eine Klasse eingebetteter Berichte. Obwohl im Hinblick auf die Leistungsoptimierung nicht die erste Wahl, ist es doch die einfachste Methode: Sie fügen dem Projekt einen Bericht hinzu, um eine Berichtwrapperklasse zu erstellen, die Berichtwrapperklasse zu instantiieren und diese dann an das Da die Berichtwrapperklasse von der ReportDocument-Basisklasse erbt, haben Sie Zugriff auf die gesamte Funktionalität des ReportDocument-Objektmodells.
Eine weitere häufig verwendete Möglichkeit der Berichtbindung in Crystal Reports für Visual Studio wird unter Binden an einen nicht eingebetteten Bericht, der in die ReportDocument-Klasse geladen wurde beschrieben. Auch bei diesem Szenario haben Sie Zugriff auf die gesamte Funktionalität des ReportDocument-Objektmodells, können jedoch die zusätzlichen Vorteile nicht eingebetteter Berichte nutzen und Berichte ändern, ohne die Anwendung neu zu kompilieren.
In einigen Bindungsszenarien wird das ASP.NET Cache-Objekt verwendet (siehe Binden an eine Klasse zwischengespeicherter eingebetteter Berichte und Binden an einen in eine Cache Management Utility-Klasse geladenen nicht eingebetteten Bericht). In diesen Szenarien wird die Leistung für Berichte mit hoher Mehrbenutzbarkeit optimiert. Siehe Zwischenspeichern von Berichten mit "hoher Mehrbenutzbarkeit".
Empfohlene Bindungsszenarien für Report Application Server (RAS)
Wenn Sie Ihre Crystal Reports für Visual Studio-Anwendung durch die Lizenz für den unverwalteten Report Application Server (siehe Report Application Server (RAS)) erweitert haben, stehen Ihnen zusätzliche Funktionen zur Verfügung:
- Erhöhte Skalierbarkeit durch die RAS Report Engine.
- Zugriff auf das ReportClientDocument-Objektmodell, das umfangreiche Berichtbearbeitungsfunktionen bietet.
Je nach Projektkonfiguration können für RAS drei Berichtbindungsszenarien verwendet werden.
- Wenn Sie Crystal Reports 10 mit RAS 10 verwenden, können Sie ursprünglich mit Crystal Reports (unter Verwendung eingebetteter Berichte) erstellte Projekte auf den RAS und das ReportClientDocument-Objektmodell portieren, wobei für jeden Bericht lediglich zwei zusätzliche Codezeilen erforderlich sind. Siehe Binden an unverwalteten RAS mit der ReportDocument.Load()-Methode.
- Um das oben genannte Szenario zu optimieren, erstellen Sie auf dem RAS-Server Kopien der eingebetteten Berichte und weisen den RAS an, diese Kopien zu verwenden. Siehe Binden an unverwalteten RAS-Server mit der ReportDocument.FileName-Eigenschaft.
- Bei in RAS 10 erstellten neuen Projekten sowie bei allen mit RAS 9 generierten Berichten können Sie Ihre Berichte direkt in das ReportClientDocument-Objektmodell laden. Siehe Binden an unverwalteten RAS-Server mit der ReportClientDocument.Open()-Methode.
Empfohlene Bindungsszenarien für Crystal Reports Server oder BusinessObjects Enterprise
Wenn Sie auf Crystal Reports Server oder BusinessObjects Enterprise aktualisiert haben, stehen Ihnen vier empfohlene Berichtbindungsszenarien zur Verfügung. Welches Szenario verwendet werden sollte, richtet sich nach Ihren Anforderungen an die Berichtbearbeitung und Skalierbarkeit:
- Um die größtmögliche Geschwindigkeit und Leistung zu erzielen, können Sie einen Bericht ohne programmgesteuerte Änderungen anzeigen. Siehe Binden an ReportSource (Crystal Reports Server oder BusinessObjects Enterprise 11).
- Sie können einen Bericht als Teil des Anzeigeprozesses programmgesteuert ändern, indem Sie auf das ReportClientDocument-Objektmodell zugreifen. Siehe Binden an verwalteten RAS-Server mit der ReportAppFactory.OpenDocument()-Methode.
- Wenn Sie Crystal Reports Developer mit Crystal Reports Server oder BusinessObjects Enterprise verwenden, können Sie ursprünglich mit Crystal Reports (unter Verwendung eingebetteter Berichte) erstellte Projekte auf Crystal Reports Server oder BusinessObjects Enterprise portieren und den vorhandenen Berichtcode beibehalten, indem Sie Kopien der eingebetteten Berichte in Crystal Reports Server oder BusinessObjects Enterprise veröffentlichen. Siehe Binden an verwalteten RAS-Server mit der ReportDocument.FileName-Eigenschaft, um auf die Berichtkopien zu verweisen.
- Sie können im Enterprise-Framework als InfoObject-Instanz auf den Bericht zugreifen und haben so die Möglichkeit, den Bericht zeitgesteuert zu verarbeiten und seine Parameter zu ändern. Siehe Binden an ein in einen Bericht umgewandeltes InfoObject.
Nachdem Sie diesen Abschnitt gelesen haben, können Sie sich in der detaillierten Auflistung aller Szenarien eingehend über alle im SDK verfügbaren Optionen informieren. Siehe Detaillierte Auflistung aller Szenarien.
Anmerkung