SSRS-如何在Reporting Services中接收SSIS的資料

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的後,將<!-- -->解開

clip_image002

修改完後存檔

以上的做法是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的後,將<!-- -->解開

clip_image004

修改完後存檔

若是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的報表管理介面

clip_image006

要勾選執行帳號,可以輸入本機的builtin\administrator及密碼

以下為sql server 2008的報表管理介面

clip_image007

按套用後,重啟reporting services 服務

若Vs2005或vs2008是開啟的,請重開,不然會沒有load的到更改confing檔後的狀態

接下來在報表專案中的資料來源就可以看到ssis的選項了

下圖是直接指到一個dtsx檔,連接字串中的-f,指的是以檔案的形式讀取

要注意,你的連接字串中的dtsx路徑不能有空格,例如 –f D:\vs 2008\demo.dtsx   這樣是不行的,會執行失敗要改成 –f D:\vs2008\demo.dtsx 這樣執行才會成功

clip_image008

接下來,在報表的設定”資料集”的地方,在查詢字串中要輸入”DataReaderDest”,這個名稱要視你在ssis中所定義的datareader目的地名稱而定

以下為ssrs2005的資料集設定畫面

clip_image009

不懂嗎?看一下下圖就知道了,就是你在ssis中,拉出的datareader目的地之後控制項的名稱,這裡打什麼,在ssrs中就要打什麼

clip_image010

以下為ssrs2008的設定畫面,在查詢的文字方塊中輸入”DataReaderDest”之後,按下”查詢設計工具”

clip_image011

若你的畫面出現可以按紅色驚嘆號的話,表示你在資料來源設定是ok的

clip_image012

若你按下後出現的這個畫面,表示你在資料來源設定錯誤,有可能是路徑有空格的關係

clip_image013

之後,在報表資料集中的欄位,要自行輸入,這個比較麻煩,如果欄位多的話,就得要自己打了,之後

clip_image014

接下來,從工具箱中拉一個資料表,將你設定好的欄位拖到這個資料表試試看吧

clip_image016

然後切換到預覽看看囉!有看到東西的話,就是成功囉,到此就算是大工告成囉!

clip_image017

‧覺得文章不錯請給我一個『讚』作為鼓勵喔!