[SQL SERVER][SSIS]Multiple Excel Sheets 2 SQL

[SQL SERVER][SSIS]Multiple Excel Sheets 2 SQL


Excel绝大部分是User的最爱,但小弟我就是对Excel很感冒(每位user都有自己的Style,心中就会~~暗!暗!)

但在衣食父母前你不得不低头,所以今天小弟将使用SSIS操作Multiple Excel Sheets 2 SQL整个过程

先查看Excel文件内容

Sheet1:9笔数据

image

Sheet2:30笔数据

image

Sheet3:65299笔数据(还没超出Excel2003限制)

image

马上就来导入SQL Server搂

建立数据来源

image

控制流程拉入相关组件(如下图)

image

新增两个变量(后面需要对应变量)

image

编辑第一个数据流程工作,并拉入相关组件(如下图)

image

编辑命令码组件(Get sheet name)

新增一个输出数据行:colsheet,类型:字符串

image

点选连接管理员并新增连接管理员

image

编辑命令码

image

编写程序(如下图)

image

编辑数据录集目的地并设定自订义变量:User::objsheets

image

切换输入数据行页签并加入命令码所输出数据行:colsheet

image

编辑Foreach组件并设定相关属性选项(如下图)

image

image

编辑第二个数据流程工作,并设定存取模式:从变量openrowset

image

编辑Excel来源并选取变量名称

image

编辑SQL Server目的地

image

执行(F5)

image

结果如下:

image

image

就这样小弟的SSIS2008体验也告一段落了,后面就等任务下来有问题再继续研究了(我太懒了XD)。

SSIS2008心得:

不得不承认SSIS比ODI好上手多了,但SSIS绝不是简单的产品,涉及技术繁多(.NET、SMO、Xpath...等)

ETL平台来说,SSIS提供强大的功能性与延伸性,让使用者可以针对特殊需求自己透过程序语言来开发整合

看来透过SSIS处理ETL可以让小弟我提高不少生产力(有时会偷偷用winform~~XD)。不过当时小弟玩ODI有个强大的功能

"CDC"(Change Data Capture),但SSIS我好像没发现到~~anyway,其码SSIS能够快速完成ETL工作任务

那才不枉费我这四天所花的时间。