Wie löst man ein SSRS-Abonnement aufgrund eines Ereignisses aus?

8

Gibt es eine Möglichkeit, ein SSRS-Abonnement (zeitbasiert) auszulösen, wenn ein Ereignis wie eine Datei in einem freigegebenen Ordner erstellt wird? Können wir es mit Powershell oder C # tun?

Gibt es in SSRS eine Out-of-Box-Funktion (obwohl ich glaube, dass es keine gibt)?

Ich verwende SQL Server 2008 R2.

    
AJ01 28.05.2015, 09:20
quelle

3 Antworten

6

Ja, wir machen hier so etwas. Sie können die FireSubscription-Funktion der Reporting Services-Webdienste zum Auslösen eines Abonnements verwenden. Hier ist eine detaillierte Erklärung, wie es eingerichtet wird:

Ausführen eines Reporting Services-Abonnements

Sie können den FileSystemWatcher verwenden, um zu erkennen, wann Ihre Datei gelöscht wurde, und dann das Abonnement abzuschalten. Es ist jedoch asynchron, sodass Sie keine Benachrichtigung erhalten, wenn der Bericht erfolgreich gesendet wurde ... nur, dass er erfolgreich in die Warteschlange gestellt wurde. Außerdem müssen Sie zuerst die Parameter des Abonnements ändern, bevor Sie es auslösen. Sie müssen also sicherstellen, dass nicht mehr als ein Programm das Abonnement auslöst, sonst könnte es zu einem Stolpern kommen.

Ein etwas komplizierterer Weg ist es, die Render-Funktion zu verwenden, um einen Bericht zu generieren und dann das Programm per E-Mail verwalten zu lassen.

Render-Funktion

Auf diese Weise müssen Sie kein Dummy-Abonnement erstellen und Sie werden sofort wissen, ob es erfolgreich mit den richtigen Parametern gesendet wurde.

Noch eine letzte Anmerkung: Wenn Sie die Enterprise Edition haben (was Sie wahrscheinlich nicht tun), werden datengesteuerte Berichtsabonnements mitgeliefert, mit denen Sie ein Abonnement auslösen können:

Erstellen eines datengesteuerten Abonnements

>     
Brian Pressler 02.06.2015, 15:02
quelle
1

Hier habe ich rechtzeitig Abonnement verwendet, ich hatte Anforderung, Bericht zu generieren Bei einem Klick auf die Schaltfläche habe ich ein Abonnement erstellt, das nach einer Minute ausgelöst wird und einen PDF-Bericht erstellt. Und ich habe alle Hilfe von diesem Artikel: Ссылка

Sie müssen die Webservice-Referenz des von SSRS bereitgestellten Webservice hinzufügen Ссылка

Hier @ "\ MeinMaschinenname \ Teilen" ist der Pfad, in dem meine PDF gespeichert wurde (PATH: Der Ordnerpfad oder UNC-Dateifreigabepfad, in dem der Bericht gespeichert werden soll. Ссылка )

So können Sie das generate-Abonnement je nach Bedarf für eine erstellte Datei aufrufen.

%Vor%     
GMD 06.06.2015 07:46
quelle
0

Sie könnten einen Windows-Dienst erstellen, der FileSystemWatcher ( Ссылка ) und dann nur den Job für das geänderte Ereignis auslösen.

    
solidau 01.06.2015 06:52
quelle