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有個強大的功能anyway,其碼SSIS能夠快速完成ETL工作任務
"CDC"(Change Data Capture),但SSIS我好像沒發現到
那才不枉費我這四天所花的時間。