iT邦幫忙

DAY 26
3

Oracle and MS SQL系列 第 27

[Day 26]SQL SERVER-Multiple Excel Sheets 2 SQL

Excel絕大部分是User的最愛,但小弟我就是對Excel很感冒(每位user都有自己的Style,心中就會~~暗!暗!)
但在衣食父母前你不得不低頭,所以今天小弟將使用SSIS操作Multiple Excel Sheets 2 SQL整個過程
先查看Excel檔案內容
Sheet1:9筆資料

Sheet2:30筆資料

Sheet3:65299筆資料(還沒超出Excel2003限制)

馬上就來導入SQL Server摟

建立資料來源

控制流程拉入相關元件(如下圖)

新增兩個變數(後面需要對應變數)

編輯第一個資料流程工作,並拉入相關元件(如下圖)

編輯指令碼元件(Get sheet name)
新增一個輸出資料行:colsheet,類型:字串

點選連接管理員並新增連接管理員

編輯指令碼

編寫程式碼(如下圖)

編輯資料錄集目的地並設定自訂義變數:User::objsheets

切換輸入資料行頁籤並加入指令碼所輸出資料行:colsheet

編輯Foreach元件並設定相關屬性選項(如下圖)

編輯第二個資料流程工作,並設定存取模式:從變數openrowset

編輯Excel來源並選取變數名稱

編輯SQL Server目的地

執行(F5)

結果如下:

SSIS2008心得:
不得不承認SSIS比ODI好上手多了,但SSIS絕不是簡單的產品,涉及技術繁多(.NET、SMO、Xpath...等)
ETL平台來說,SSIS提供強大的功能性與延伸性,讓使用者可以針對特殊需求自己透過程式語言來開發整合
看來透過SSIS處理ETL可以讓小弟我提高不少生產力(有時會偷偷用winformXD)。不過當時小弟玩ODI有個強大的功能
"CDC"(Change Data Capture),但SSIS我好像沒發現到
anyway,其碼SSIS能夠快速完成ETL工作任務
那才不枉費我這四天所花的時間。


上一篇
[Day 25]SQL SERVER-Access 2 SQL
下一篇
[Day 27]SQL SERVER-Change Data Capture#1簡介
系列文
Oracle and MS SQL34

尚未有邦友留言

立即登入留言