2017-03-14 1 views
0

Verwenden von Sqlserver 2012.Möglich, Parameterwerte anzuzeigen, die an Unterbericht übergeben werden?

Angenommen, ich habe einen SSRS-Bericht "P", der mehrere Unterberichte "S1", "S2" aufruft. Ich frage mich nur, ob es möglich ist, die Parameter und Werte, die P während der Berichterstellung an S1 und S2 übergibt, (in einer Protokolldatei usw.) anzuzeigen.

Ich weiß, dass Sie die Parameter und Werte anzeigen können, die an den übergeordneten Bericht P in Ansichten wie ExecutionLog3 übergeben werden, konnte jedoch keine Protokollierung der Unterberichte Parameter finden.

Eine Umgehung wird sein, die Parameterwerte in den Unterberichten selbst anzuzeigen, aber das ist nicht ideal. Die Berichte selbst laufen in Ordnung .. die Parameter werden zu Diagnosezwecken gesucht.

Antwort

1

Ich würde vorschlagen, den Logging-Prozess zum Start Ihres Hauptdatensatzes in jedem Unterbericht hinzuzufügen, so dass es nur ausgelöst wird, wenn der Unterbericht aufgerufen wird.

Mit anderen Worten, der Datensatz für „S1“ könnte etwas aussehen ...

INSERT INTO dbo.MyLogTable (SubReportName, Parm1, Parm2, ActionDate) 
    VALUES ('S1', @p1, @p2, GetDate()) 

{Your original dataset SQL here} 

Wenn Sie Parameter mehrwertig sind, dann können Sie zuerst eine Manipulation zu tun haben, aber Sie bekommen die Idee, die ich Hoffnung. Sie können dies auch verbessern, indem Sie die ID des Unterberichts aus dem Berichtsserverkatalog verwenden, für den Fall, dass Sie dies wieder den Ausführungsprotokollen beifügen möchten.

+0

danke. Das ist vielleicht das Beste, was man tun kann. Ich könnte auch sql Profiler Traces verwenden, die für meine Zwecke gut genug sein können. –

Verwandte Themen