2017-03-14 37 views
0

使用Sqlserver 2012.可能查看傳遞給子報表的參數值嗎?

說我有一個SSRS rdl報告「P」,它調用幾個子報告「S1」,「S2」。 只是想知道是否可以查看(在日誌文件等),在報告生成過程中P傳遞給S1和S2的參數和值。

我知道你可以在像ExecutionLog3這樣的視圖中查看傳遞給父報告P的參數和值,但是找不到子報表參數的任何記錄。

解決方法是在子報表中顯示參數值,但這並不理想。報告本身運行正常..需要參數用於診斷目的。

回答

1

我建議將日誌記錄過程添加到每個子報表中的主數據集的開始位置,這樣只有在調用子報表時纔會觸發。

換句話說,該數據集的「S1」可能看起來像......

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

{Your original dataset SQL here} 

如果參數是多值,那麼你可能要首先做一些操作,但你的想法我希望。 您還可以通過使用報表服務器目錄中子報表的ID來改善此情況,以防您想將其重新加入執行日誌。

+0

謝謝。這可能是關於最好的人能做的。我也可能使用sql profiler跟蹤,這可能足以滿足我的目的。 –