簡體   English   中英

在Sql Reporting Serivces 2008中動態更改數據源

[英]Dynamically Change the Datasource in Sql Reporting Serivces 2008

我想使用相同的Reports(.rdl)生成24個數據庫的報告。

例如,如果我的報表(.rdl)中有一個用戶表,則報表(.rdl)的數據源應動態更改。 現在,我正在為24個數據庫制作24個不同的報告。

我希望在運行時更改數據源的單個report(.rdl)。

實現此目的的方法可能是在報告(.rdl)文件中添加3個參數

服務器名稱

數據庫名稱

如果需要的話

密碼

然后像這樣更改數據源的連接字符串

=“數據源=”&參數!ServerName.Value&“;初始目錄=”&參數!DatabaseName.Value

這種方法的唯一小問題是參數名稱在URI中可見,因此請注意

我找到了解決我問題的替代解決方案。 我創建了一個(.rdl)報告文件,該文件使用在所有數據庫中都具有權限的用戶將該用戶指定為數據源,而在數據庫中我在其中創建了單個過程的數據庫,假設是admin數據庫(用於所有通用的過程),在該過程中,我執行了其他數據庫中存在的過程,如下所示:

set @sSql='Execute '+ @databasename + '.'+ @username + '.'+'GetData'
EXEC (@sSql)

其中(對於所有數據庫)表中存在用戶名和數據庫名,並且列名sendDate在執行針對該databaseName的過程后更新為今天的日期,以便在執行該過程后,數據源移至用戶名和數據庫名之后的下一個位置。 並使訂閱在10分鍾后運行,以便可以通過在每次執行中從不同數據庫獲取數據來發送所有數據庫的報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM