2012-01-27 64 views
2

我對SSIS完全陌生,實際上下面將是我的第一個SSIS包。我應該爲我的SSIS包選擇什麼任務

我有以下要求:

「我必須從表中讀取兩個列,讓說,僱員(整數)和FileBytes(圖) 然後,我要爲每個員工閱讀FileBytes創建文檔。 ,(例如:Employee01.doc)在一個文件夾中。「

的事情,我有:

我作爲一個純粹的.NET傢伙我已經準備好被讀取字節並保存爲文件夾中的doc文件一個.NET代碼。 我有SQL腳本來讀取表字節(一個簡單的SELECT語句)

請給我建議我選擇哪個任務做我的東西,我就是從下面的任務列表糾正:

  1. 執行SQL任務(這將創造一切爲EMP的表,字節)

  2. 腳本任務(這將值從SQL任務生成的變量,逐一處理它們)

我正在尋求幫助,以便我能理解我應該使用哪個任務,併爲了什麼目的,休息我會做..因爲我想學習SSIS!

回答

1

我寫了一些(閱讀:3),但我會盡我所能在這裏幫助你。

通常,如果我需要執行某些操作來清除臨時表,我會立即使用「執行SQL」任務。接下來,我將創建一個「數據流」任務並將我的執行SQL任務連接到它。然後,點擊「數據流」標籤來完成剩下的工作。

以下是樂趣開始的地方......在Data Flow選項卡上,您可以設置多個獨立的數據任務。首先創建一個「數據源」組件。您可以從您的工具箱中拖放它。將其配置爲訪問特定數據庫,然後將其設置爲通過特定查詢返回表或數據。

如果您有關於數據的決定,可以將其輸出指向「Lookup Transformation」。您可以使用它來篩選出只有新行或錯誤或不匹配的行。同樣,您也可以使用「Conditional Split Transformation」將數據發送到不同的輸出。

最後,當您準備好應用更新時,您可以將數據流路由到目標(ADO NET,平面文件,Excel等)。

至於「腳本任務」,你應該只使用那個需要運行一次的腳本。如果您需要每行運行一次,則應在數據流中使用「Script Component」。它有一個輸入,但也可以像數據源一樣使用。

MSDN also has this SSIS tutorial這也應該有助於你開始。

+0

+1哇!這很有趣。我將開始研究這個。如果你不介意,我有一個問題。由於我的select語句(即** SELECT COL1,COL2 FROM TABLE **)返回多行,我可以這樣做來逐行循環行,而不是使用完整結果集(1000行)處理? – Zerotoinfinity 2012-01-27 21:07:05

+0

這會提高我的好奇心嗎?http://www.select-sql.com/mssql/loop-through-ado-recordset-in-ssis.html – Zerotoinfinity 2012-01-27 21:10:52

+1

@Zerotoinfinite我相信MSDN提供的確切方式是「如果您必須使用腳本來完成對一組數據中的每一行數據執行相同的工作,則應該使用腳本組件而不是腳本任務。「這是否回答你的問題? – Aaron 2012-01-27 21:12:10

相關問題