從 SQL Server Integration Services 建立報表資料集
您可以建立使用執行 Integration Services 封裝所產生之資料的 Reporting Services 報表。封裝必須滿足此主題中所述的最小需求。
[!附註]
不支援 SSIS 資料處理延伸模組。這個資料處理延伸模組是預設關閉的非實際功能。目前不建議您在實際伺服器上使用 SSIS 資料處理延伸模組。如果您選擇啟用這個功能,並在報表伺服器上使用它,請注意在執行階段,將會在報表伺服器 Windows 服務帳戶或報表伺服器 Web 服務帳戶的安全性識別之下處理此封裝。這會影響您保護此封裝所存取之資料來源的方式。如需詳細資訊,請參閱<設定 Reporting Services 使用 SSIS 封裝資料>。
下列事件的流程描述使用封裝資料之報表的資料處理:
使用者開啟報表,或者報表伺服器透過已排程的作業產生報表時,會起始報表處理。
報表伺服器連接到儲存在檔案系統或 msdb 資料庫中的封裝 (.dtsx) 檔案。報表中的連接字串必須指定封裝檔案的完整路徑。
報表伺服器會將報表中定義的查詢,傳遞至 Integration Services 以供處理。查詢是 DataReader 目的地的名稱。
報表伺服器會擷取資料,然後將資料合併至報表配置,並依指定轉譯資料。
您無法從 Integration Services 事件觸發報表處理。產品的事件模型不會整合。報表處理必須從 Reporting Services 起始。
您必須先設定自動執行帳戶和 SSIS 資料處理延伸模組,才可以選取 SSIS 做為資料來源類型。如需詳細資訊,請參閱<設定自動執行帳戶>和<設定 Reporting Services 使用 SSIS 封裝資料>。
設計封裝
並非所有的封裝都可用來為報表提供資料。報表資料的封裝需求包括使用一個 DataReader 目的地,這會提供記憶體中的目的地目標。下列清單描述建立封裝和報表的其他需求與步驟。
在 Integration Services 中,建立至少具有一個可填滿一或多個 DataReader 目的地之資料流程工作的封裝。目的地物件必須包含您要在報表中使用的輸入資料行。
設定與外部資料來源的連接。如果封裝連接到 SQL Server 關聯式資料來源,您可以選擇 Windows 驗證或 SQL Server 驗證。當設定此連接時,請搭配已儲存的密碼使用 SQL Server 驗證。
執行封裝,以確認它傳回您要的資料。如需有關如何設定資料檢視器,以顯示封裝傳回之資料的詳細資訊,請參閱<如何:將資料檢視器加入資料流程>。
將封裝儲存到檔案系統或 SQL Server 上的資料夾。不支援將封裝儲存到 SSIS 封裝存放區。
記下 DataReader 目的地的名稱,其中包含您要在報表中使用的結果集。稍後您會指定這個名稱做為報表查詢。
在報表中定義連接和查詢
定義封裝之後,您可以建立使用 SSIS 資料處理延伸模組的報表。報表必須包含指定到封裝連接的資料集。資料集查詢是 DataReader 目的地的名稱。您在資料集中定義的認證是用來執行封裝。下列清單提供有關您必須在報表資料集中指定之連接和查詢定義的詳細資訊:
資料來源類型必須是 SSIS。
認證類型可以是 [無認證] 或 [Windows 認證]。您無法使用資料庫驗證。當您第一次在報表資料集中建立連接時,認證會自動設定為 [無認證]。發行報表之後,您可以利用報表管理員或 SQL ServerManagement Studio,將認證類型切換到 Windows 整合式安全性或預存 Windows 使用者帳戶。當您儲存認證時,請務必選取 [連接到資料來源時做為 Windows 認證] 選項。不支援提示認證。
封裝的連接字串必須是檔案系統或 msdb 中封裝 (.dtsx) 檔案的完整路徑。請使用 dtexec 公用程式的 -file 或 -sql 引數。您不需要指定公用程式本身。SSIS 資料處理延伸模組會以背景處理序的方式來執行公用程式。如需有關命令列引數的詳細資訊,請參閱<dtexec 公用程式>。下列範例說明可讓您從檔案系統擷取封裝的連接字串語法:
-f c:\datafiles\packages\reportdatapackage.dtsx
查詢是 DataReader 目的地的名稱。依預設,名稱為 DataReaderDest。您可以使用其他名稱來取代。