实例学习SSIS(一)-- 制作一个简单的ETL包
ETL包:数据的提取、转换和加载;
通过制作第一个包,可以了解以下内容:
1、配置连接管理器(平面文件和OLE DB);
2、添加数据流任务;
3、配置平面文件源和OLE DB目标;
4、使用查找转换。
详细制包过程:
准备工作:
(1)文件源:创建一个txt文件:userinfo.txt。
内容如下:1|张三|我是张三|男,2|李四|我是李四|女
(2)创建目标数据表:
下面是我创建的数据库(SSIS)和表(userinfo、usersex):
userinfo.sql
复制代码
usersex.sql
在“高级”中重命名各个列名,并选择相应数据类型,分别是:DT_I4和三个DT_STR。
OLE DB:
(2)在数据流选项卡中创建平面文件源。
从左侧“数据流源”中拖拽即可,确认一下列:
(3)使用查找转换
从左侧“数据流转换”中拖拽“查找”。
因为userinfo.txt中性别是男/女,所以需要转换成对应的性别id才能插入到数据表中。
如下图配置,指定连接列和选择查找列:
(4)配置OLE DB目标
从左侧“数据流目标”中拖拽OLE DB目标。
在映射中确认一下输入和目标列是否对应好,同时要确认一下数据类型是否一样。

调试包:
点击调试,如果全变绿就哦了,某一个环境出现错误会变成红色,可在执行结果中查看错误原因。

执行结果:
select * from userinfo

通过制作第一个包,可以了解以下内容:
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
- 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。
选择行、列分割符,如下图所示:
在“开始”、“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
(文/青羽)
转载于:https://blog.51cto.com/qianshao/236231