2016-06-10 3 views
2

Ein Client möchte eine Historie und eine PDF-Kopie der letzten x Anzahl der Ausführungen eines Berichts haben. Sie wollen in der Lage:So erstellen Sie eine Archivhistorie eines SSRS-Berichts, während er ausgeführt wird

1) Gegenstand des Berichts mit den gleichen Parametern ausgeführt (keine Probleme damit)

2) Haben Sie eine gespeicherte PDF-Kopie des Originalberichts für die spätere Ansicht

3) Haben Sie dies generisch für alle (80) Berichte im System eingerichtet.

Kennt jemand eine Methode, mit der Sie automatisch eine Dateikopie eines Berichts erstellen und speichern können, wenn der Benutzer diesen Bericht ausführt. Oder alternativ eine Möglichkeit, den Bericht aus den Datenbanken ReportServer oder ReportServerTempDB zu extrahieren.

Ich weiß, dass SSRS History Snapshots hat, aber soweit ich sehen kann, sind sie für mein Problem nicht von Nutzen.

1) Sie müssen als Snapshot ausgeführt werden und können nicht direkt vom Benutzer ausgeführt werden.

2) Sie müssen alle Parameter mit einem Standardwert haben (weil sie als Momentaufnahme über einen Auftrag ausgeführt werden)

Es scheint seltsam, dass eine solche einfache Anforderung nicht erfüllt werden können und ich frage mich, ob ich bin etwas vermissen. Gibt es Produkte von Drittanbietern, die diese Funktionalität bereitstellen?

Jede Hilfe wirklich geschätzt.

+0

Ich habe vor kurzem diesen Post gefunden, wo Sie zeigen, wie Sie eine gespeicherte Prozedur jedes Mal starten, wenn der Bericht ausgeführt wird. Sie könnten es nützlich finden: http://www.advancedssrs.com/2014/01/how-can-i-run-stored-procedures-with.html – vercelli

+1

Danke vercelli – Gerard

Antwort

0

Statt ein Archiv des Berichts zu erstellen, die ausgeführt wird, können Sie die Datenbank abfragen, die die Details aller Berichte enthält, die ausgeführt werden und die Parameter, die verwendet wurden, wer und wann usw.

Blick in ReportManager-Datenbank. Es gibt Ansichten, die Ihnen einen Teil des Weges dorthin bringen, mit dem Katalog verbinden, um Details des Berichts usw. zu erhalten.

Hinweis Die Daten werden beim Neustart (und nach einiger Zeit) beschädigt, so dass Sie einen Prozess benötigen Kopieren Sie es in eine andere Tabelle für die Langzeitspeicherung. Ich extrahiere auch die Windows-Benutzerdetails zu einer anderen Tabelle, damit ich echte Namen haben kann. Dies alles wird als SSRS-Bericht für Manager offen gelegt.

bearbeiten Dies passt möglicherweise nicht zu Ihren Anforderungen. Wenn Sie später einen Bericht mit den gleichen Parametern ausführen, erhalten Sie möglicherweise andere Ergebnisse, wenn sich die zugrunde liegenden Daten geändert haben.

+0

Danke Mike. Es ist richtig, dass alle Berichtsdetails in der ReportsServer-Datenbank gespeichert sind und Sie den Bericht mit denselben Parametern zu einem späteren Zeitpunkt erneut ausführen können, aber Sie erhalten andere Daten. Die eigentlichen Berichtsdaten werden nicht gespeichert, sodass Sie den Bericht, den der Benutzer zu einem späteren Zeitpunkt gesehen hat, nicht reproduzieren können. Das ist mein Problem - die Benutzer wollen einen historischen Bericht über jeden Bericht, der auf dem System ausgeführt wird, der sie ausgeführt hat, und eine Kopie des tatsächlich erstellten Berichts. – Gerard

Verwandte Themen