实例学习SSIS(一)--制作一个简单的ETL包
导读: 实例学习SSIS(一)--制作一个简单的ETL包实例学习SSIS(二)--使用迭代
实例学习SSIS(三)--使用包配置实例学习SSIS(四)--使用日志记录和错误流重定向实例学习SSIS(五)--理论介绍SSIS参考内容:SQLServer2005的帮助文档。 ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqltut9/html/d6d5bb1f-4cb1-4605-9cd6-f60b858382c4.htm ETL包:数据的提取、转换和加载; 通过制作第一个包,可以了解以下内容: 1、配置连接管理器(平面文件和OLE DB); 2、添加数据流任务; 3、配置平面文件源和OLE DB目标; 4、使用查找转换。 详细制包过程: 准备工作: (1)文件源:创建一个txt文件:userinfo.txt。 ???????? ?内容如下:1|张三|我是张三|男,2|李四|我是李四|女 (2)创建目标数据表: ???????? ?下面是我创建的数据库(SSIS)和表(userinfo、usersex): ??? ? ?? userinfo.sql USE ? [ SSIS ] GO /* *****?对象:??Table?[dbo].[userinfo]????脚本日期:?10/16/2009?10:31:54?***** */ SET ?ANSI_NULLS? ON GO SET ?QUOTED_IDENTIFIER? ON GO SET ?ANSI_PADDING? ON GO CREATE ? TABLE ? [ dbo ] . [ userinfo ] ( ???? [ uid ] ? [ int ] ? NOT ? NULL , ???? [ uname ] ? [ varchar ] ( 50 )?COLLATE?Chinese_PRC_CI_AS? NULL , ???? [ udesc ] ? [ varchar ] ( 500 )?COLLATE?Chinese_PRC_CI_AS? NULL , ???? [ sid ] ? [ int ] ? NULL )? ON ? [ PRIMARY ] GO SET ?ANSI_PADDING? OFF usersex.sql USE ? [ SSIS ] GO /* *****?对象:??Table?[dbo].[usersex]????脚本日期:?10/16/2009?10:32:21?***** */ SET ?ANSI_NULLS? ON GO SET ?QUOTED_IDENTIFIER? ON GO SET ?ANSI_PADDING? ON GO CREATE ? TABLE ? [ dbo ] . [ usersex ] ( ???? [ sid ] ? [ int ] ? NOT ? NULL , ???? [ sex ] ? [ varchar ] ( 50 )?COLLATE?Chinese_PRC_CI_AS? NULL )? ON ? [ PRIMARY ] GO SET ?ANSI_PADDING? OFF ?创建SSIS项目: ???????? 在“开始”、“Microsoft SQL Server 2005”,找到 SQL Server Business Intelligence Development Studio,创建Integration Services 项目; ?制包过程: ???????? (1)配置连接管理器(平面文件和OLE DB) ?????????????????? ?平面文件: ?? ??????在“连接管理器”区域“新建平面文件连接”,起个名子,选好userinfo.txt。 ???????? 选择行、列分割符,如下图所示: ???? ?????? ? ???????? 在“高级”中重命名各个列名,并选择相应数据类型,分别是:DT_I4和三个DT_STR。 ?????????????????? ?OLE DB: ?????????????????? (2)在数据流选项卡中创建平面文件源。 ????????? ???? 从左侧“数据流源”中拖拽即可,确认一下列: ? (3)使用查找转换 ?????????????????? 从左侧“数据流转换”中拖拽“查找”。 ?????????????????? 因为userinfo.txt中性别是男/女,所以需要转换成对应的性别id才能插入到数据表中。 ?? 如下图配置,指定连接列和选择查找列: ?????????????????? ????????? (4)配置OLE DB目标 ?????????????????? 从左侧“数据流目标”中拖拽OLE DB目标。 ??? 在映射中确认一下输入和目标列是否对应好,同时要确认一下数据类型是否一样。 ??????? ???????? 点击调试,如果全变绿就哦了,某一个环境出现错误会变成红色,可在执行结果中查看错误原因。 执行结果: select * from userinfo ???????? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |