Ich habe in den letzten Wochen SSRS 2005/2008 studiert und einige serverseitige Berichte erstellt. Für einige Anwendungen schlug ein Kollege vor, dass ich mich mit RDLC für diese spezielle Situation befasse. Ich versuche jetzt, den Hauptunterschied zwischen RDL und RDLC in den Griff zu bekommen.
Die Suche nach diesen Informationen ergibt bestenfalls fragmentierte Informationen. Ich habe gelernt, dass:
- In RDLC-Berichten werden keine Informationen zum Abrufen von Daten gespeichert.
- RDLC-Berichte können direkt vom ReportViewer-Steuerelement ausgeführt werden.
Aber ich verstehe die Beziehung zwischen der RDLC-Datei und den anderen verwandten Systemen (dem Berichtsserver, der Quellendatenbank, dem Client) immer noch nicht vollständig.
Um einen guten Überblick über RDLC-Dateien zu erhalten, möchte ich wissen, wie sich ihre Verwendung von RDL-Dateien unterscheidet und in welcher Situation man RDLC gegenüber RDL wählen würde. Links zu Ressourcen sind ebenfalls willkommen.
Aktualisieren:
Ein Thread in den ASP.NET-Foren behandelt dasselbe Problem. Dadurch habe ich ein besseres Verständnis für das Thema gewonnen.
Eine Funktion von RDLC besteht darin, dass es im ReportViewer-Steuerelement vollständig clientseitig ausgeführt werden kann.
- Dadurch entfällt die Notwendigkeit einer Reporting Services-Instanz und sogar jegliche Datenbankverbindung. Es gilt jedoch Folgendes:
- Es wird die Anforderung hinzugefügt, dass die im Bericht benötigten Daten manuell bereitgestellt werden müssen.
Ob dies ein Vorteil oder ein Nachteil ist, hängt von der jeweiligen Anwendung ab.
In meiner Anwendung ist ohnehin eine Instanz von Reporting Services verfügbar, und die erforderlichen Daten für die Berichte können problemlos aus einer Datenbank abgerufen werden. Gibt es noch einen Grund für mich, über RDLC nachzudenken, oder sollte ich einfach bei RDL bleiben?
quelle
List<T>
vonMyEntity
) als Quelle für Remote Reports ( RDL ) verwenden, nicht RDLC ?Ich habe immer gedacht, dass der Unterschied zwischen RDL und RDLC darin besteht, dass RDL für SQL Server Reporting Services und RDLC in Visual Studio für clientseitige Berichte verwendet werden. Die Implementierung und der Editor sind nahezu identisch. RDL steht für
Report Defintion Language
und RDLCReport Definition Language Client-side
.Ich hoffe das hilft.
quelle
Nach meiner Erfahrung sollten Sie sich für rdlc entscheiden, wenn Sie für große Berichte eine hohe Leistung benötigen (dies hängt geringfügig von Ihren Client-Spezifikationen ab). Darüber hinaus bieten rdlc-Berichte Ihnen eine umfassende Kontrolle über Ihre Daten. Möglicherweise können Sie sich verschwendete Datenbankfahrten usw. durch die Verwendung clientseitiger Berichte ersparen. Bei dem Projekt, an dem ich gerade arbeite, benötigt ein kritischer Bericht ungefähr 2 Minuten, um auf der Serverseite gerendert zu werden, und entfernt so ziemlich jeden Berichtsserver, auf den er für diese Zeit trifft. Wenn Sie es auf clientseitiges Rendering umstellen, sehen Sie eine Leistung, die viel näher an 20 bis 40 Sekunden liegt, ohne den Berichtsserver zu belasten und weniger Bandbreite zu verwenden, da nur die Datasets heruntergeladen werden.
Ihr Kilometerstand kann variieren, und ich finde, dass rdlc die Entwicklungs- und Wartungskomplexität erhöht, insbesondere wenn Ihr Bericht als serverseitiger Bericht konzipiert wurde.
quelle
Einige dieser Punkte wurden oben angesprochen, aber hier sind meine 2 Cent für die VS2008-Umgebung.
RDL (Remote Reports): Viel bessere Entwicklungserfahrung, mehr Flexibilität, wenn Sie einige erweiterte Funktionen wie Zeitplanung, Ad-hoc-Berichterstellung usw. verwenden müssen.
RDLC (Local Reports): Bessere Kontrolle über die Daten vor dem Senden an den Bericht (einfachere Validierung oder Bearbeitung der Daten vor dem Senden an den Bericht). Viel einfachere Bereitstellung, keine Instanz von Reporting Services erforderlich.
Eine RIESIGE Einschränkung bei lokalen Berichten ist ein bekannter Speicherverlust, der die Leistung erheblich beeinträchtigen kann, wenn Ihre Clients zahlreiche große Berichte ausführen. Dies soll mit der neuen VS2010-Version des Report Viewers behoben werden.
In unserem Fall entwickle ich, da eine Instanz von Reporting Services verfügbar ist, neue Berichte als RDLs und konvertiere sie dann in lokale Berichte (was einfach ist) und stelle sie als lokale Berichte bereit.
quelle
Wenn Ihnen eine Reporting Services-Infrastruktur zur Verfügung steht, verwenden Sie diese. Sie werden feststellen, dass die RDL-Entwicklung etwas angenehmer ist. Sie können eine Vorschau des Berichts anzeigen, Parameter einfach einrichten usw.
quelle
Während ich mich derzeit für RDL interessiere, weil es flexibler und einfacher zu verwalten scheint, hat RDLC den Vorteil, dass es Ihre Lizenzierung zu vereinfachen scheint. Da RDLC keine Reporting Services-Instanz benötigt, benötigen Sie keine Reporting Services-Lizenz, um sie zu verwenden.
Ich bin nicht sicher, ob dies für die neueren Versionen von SQL Server noch gilt. Wenn Sie jedoch einmal entschieden haben, die Instanzen von SQL Server Database und Reporting Services auf zwei separaten Computern zu speichern, mussten Sie über zwei separate SQL Server-Lizenzen verfügen:
http://social.msdn.microsoft.com/forums/en-US/sqlgetstarted/thread/82dd5acd-9427-4f64-aea6-511f09aac406/
Sie können Bing für andere ähnliche Blogs und Beiträge zur Reporting Services-Lizenzierung.
quelle
Ich glaube, dass RDL für VS2008 bessere Bearbeitungsfunktionen bietet als RDLC. Zum Beispiel kann ich das Fettdruck für eine ausgewählte Textmenge in einem Textfeld mit RDL ändern, während dies in RDLC nicht möglich ist.
RDL: abcd efgh ijklmnop
RDLC: abcd efgh ijklmnop -oder- abcd efgh ijklmnop (sind Ihre einzigen Optionen)
Dies liegt daran, dass RDLC einen früheren Namespace / eine frühere Formatierung aus dem Jahr 2005 verwendet, während RDL 2008 verwendet. Dies wird sich jedoch mit VS2010 ändern
quelle
Wenn wir weniger Berichte haben, die weniger komplex sind und von asp.net-Webseiten verwendet werden. Es ist besser, mit rdlc zu arbeiten. Der Grund dafür ist, dass wir vermeiden können, Berichte über RS-Instanzen zu verwalten. Wir müssen die Daten jedoch manuell aus der Datenbank abrufen und an rdlc binden.
Nachteile: Das Entwerfen von rdlc in Visual Studio ist im Vergleich zu SSrs Designer wenig schwierig.
Pro: Die Wartung ist einfach. Beim Exportieren des Berichts von unserer Seite wurde festgestellt, dass die Leistung im Vergleich zu serverseitigen Berichten zunimmt.
quelle
Wenn Sie report in asp.net verwenden möchten, verwenden Sie .rdl. Wenn Sie / view in report builder / report server verwenden möchten, verwenden Sie .rdlc, indem Sie das Format manuell konvertieren. Dies funktioniert
quelle