SSRS-如何在Reporting Services中接收SSIS的資料
SSRS-如何在Reporting Services中接收SSIS的資料
微軟說可以在reporting 中接收ssis的資料,當作資料來源,那要怎麼做,方法有點複雜,但若你有這樣的需求,卻又不知道要怎麼做的話,可以參考以下的作法
請先確定ssis跟ssrs是裝在同一台,報表才以選取ssis當作資料來源類型
請先編輯這個RSReportDesigner.config這個檔案
若你是vs2005的話,路徑如下
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
若你是vs2008的話,路徑如下
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
若是x64的os的話,路徑如下
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config
在data及designer層找到ssis的keyword的後,將<!-- -->解開
修改完後存檔
以上的做法是sql server 2005,2008的做法
若是sql server 2008 r2版的話,要自己加,在<data>層中加入
<Extension Name="SSIS" Type="Microsoft.SqlServer.Dts.DtsClient.DtsConnection,Microsoft.SqlServer.Dts.DtsClient, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
在<desigen>中加入
<Extension Name="SSIS" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
接下來再繼續編輯rsreportserver.config這個檔案
若你是sql server 2005的話,路徑如下,注意我下方路徑中的MSSQL.3可能會跟你的不一樣,要看你當初在安裝sql server時是放在哪裡,自行找一下應該是會找的到
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\rsreportserver.config
若你是sql server 2008的話,路徑如下
C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
若是sql server 2008 r2的話,路徑如下
C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config
找到ssis的keyword的後,將<!-- -->解開
修改完後存檔
若是sql server 2008 的話,請在<data>裡加上
<Extension Name="SSIS" Type="Microsoft.SqlServer.Dts.DtsClient.DtsConnection,Microsoft.SqlServer.Dts.DtsClient, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
接下來回到reporting services的管理介面
以下為sql server2005的報表管理介面
要勾選執行帳號,可以輸入本機的builtin\administrator及密碼
以下為sql server 2008的報表管理介面
按套用後,重啟reporting services 服務
若Vs2005或vs2008是開啟的,請重開,不然會沒有load的到更改confing檔後的狀態
接下來在報表專案中的資料來源就可以看到ssis的選項了
下圖是直接指到一個dtsx檔,連接字串中的-f,指的是以檔案的形式讀取
要注意,你的連接字串中的dtsx路徑不能有空格,例如 –f D:\vs 2008\demo.dtsx 這樣是不行的,會執行失敗要改成 –f D:\vs2008\demo.dtsx 這樣執行才會成功
接下來,在報表的設定”資料集”的地方,在查詢字串中要輸入”DataReaderDest”,這個名稱要視你在ssis中所定義的datareader目的地名稱而定
以下為ssrs2005的資料集設定畫面
不懂嗎?看一下下圖就知道了,就是你在ssis中,拉出的datareader目的地之後控制項的名稱,這裡打什麼,在ssrs中就要打什麼
以下為ssrs2008的設定畫面,在查詢的文字方塊中輸入”DataReaderDest”之後,按下”查詢設計工具”
若你的畫面出現可以按紅色驚嘆號的話,表示你在資料來源設定是ok的
若你按下後出現的這個畫面,表示你在資料來源設定錯誤,有可能是路徑有空格的關係
之後,在報表資料集中的欄位,要自行輸入,這個比較麻煩,如果欄位多的話,就得要自己打了,之後
接下來,從工具箱中拉一個資料表,將你設定好的欄位拖到這個資料表試試看吧
然後切換到預覽看看囉!有看到東西的話,就是成功囉,到此就算是大工告成囉!
‧覺得文章不錯請給我一個『讚』作為鼓勵喔!