上一篇筆記了指令碼工作,這一篇來筆記指令碼元件(script component)
- 指令碼工作
- 指令碼元件
我們這次想換個版本從SSIS2008轉到SSIS2012,
1.開啟SSIS 2012 BI開發工具: (看圖示可以發現,背後其實是VS2010)
2.新增專案(範本=Integration Service)
這邊要注意.NET Framework版本,SSIS2012使用到 .NET 4.0。
這篇練習資料流程中的指令碼元件:
3.從左邊的工具拖曳資料流程出來
4.點兩下資料流程進入資料流程頁簽下,從左邊得的工具箱再拖曳指令碼元件到資料流程視窗中。
此時會跳出選擇指令碼元件類型: (1)來源 (2)目的 (3)轉換
這篇我們先練習利用c#程式動態產生一個員工名單,再利用一般檔案目的地將.txt檔案產出。
5.使用指令碼轉換編輯器中的輸出輸入先編輯輸出欄位,這邊我們設計ID、NAME及AGE。
5.使用指令碼轉換編輯器中的指令碼點選編輯指令碼
6.接下來會跳出Visual Studio 2010開發工具
7.接著在CreateNewOutputRows()方法中新增員工資料。
輸出0Buffer.AddRow();
輸出0Buffer.ID = "C1";
輸出0Buffer.NAME = "Amanda";
輸出0Buffer.AGE = 18;
輸出0Buffer.AddRow();
輸出0Buffer.ID = "C2";
輸出0Buffer.NAME = "Ann";
輸出0Buffer.AGE = 19;
輸出0Buffer.AddRow();
輸出0Buffer.ID = "C3";
輸出0Buffer.NAME = "Amy";
輸出0Buffer.AGE = 20;
然後關閉視窗,此時會花一點時間,感覺她在背後編譯。
8.回到控制流程,指令碼工作編輯器按下[確定],接著就從工具箱拖曳一般檔案目的地元件。
9.將資料碼元件與一般檔案目的地的線接上,點選一般檔案目的地元件2下:
新增檔案連接管理員
檔案設定
確認輸入資料行(欄位),因為剛剛接上線了,此時會自動帶出指令碼元件輸出的3個欄位。
按下確定,接著就可以測試了。
測試只需要按下F5或上方的Play圖示,與平時開發.NET 相同。
產出檔案內容:
小結:
- 是不是還蠻簡單的,雖然一般使用SSIS通常不會自己下去寫程式,但如果遇到了,還是有擴充的機會。
- 會拿SSIS跑日常批次也是很特別的經驗,感覺SSIS更適合資料轉換作ETL的事情。