原文:实例学习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 ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE 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]GOSET ANSI_PADDING OFF

  usersex.sql

USE [SSIS]GO/****** 对象:  Table [dbo].[usersex]    脚本日期: 10/16/2009 10:32:21 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[usersex](    [sid] [int] NOT NULL,    [sex] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]GOSET 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

实例学习SSIS(一)--制作一个简单的ETL包的更多相关文章

  1. SSIS教程:创建简单的ETL包

    SSIS: Microsoft SQL Server Integration Services.是一个可用于生成高性能数据集成解决方案的平台,其中包括数据仓库的提取(Extract).转换(Trans ...

  2. SSIS教程:创建简单的ETL包 -- 1. 创建项目和基本包

    在本课中,将创建一个简单 ETL 包,该包可以从单个平面文件(Flat File)源中提取数据,使用两个查找转换组件转换该数据,然后将该数据写入AdventureWorksDW2012 的 FactC ...

  3. SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)

    在第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurre ...

  4. SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)

    在本课中,将修改在第 5 课: 添加包部署模型的包配置中创建的包,以便使用项目部署模型.您将使用一个参数替换该配置值,以便指定示例数据位置.还可以复制本教程附带的已完成的 Lesson 5 包. 使用 ...

  5. SSIS教程:创建简单的ETL包 -- 4. 增加错误处理流程(Adding Error Flow Redirection)

    为了处理在转换过程中可能发生的错误,MicrosoftIntegration Services 允许根据每个组件和每个列来决定如何处理无法转换的数据. 可以选择忽略某些列中的失败.重定向整个失败的行或 ...

  6. SSIS教程:创建简单的ETL包 -- 3. 添加日志(Adding Logging)

    Microsoft Integration Services 包含日志记录功能,可通过提供任务和容器事件跟踪监控包执行情况以及进行故障排除. 日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器 ...

  7. SSIS教程:创建简单的ETL包 -- 5. 添加包部署模型的包配置(Adding Package Configurations for the Package Deployment Model)

    包配置允许您从开发环境的外部设置运行时属性和变量. 配置允许您开发灵活且易于部署和分发的包.Microsoft Integration Services 提供了以下配置类型: XML 配置文件 环境变 ...

  8. TensorFlow练习13: 制作一个简单的聊天机器人

    现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...

  9. 手把手制作一个简单的IDEA插件(环境搭建Demo篇)

    新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...

随机推荐

  1. 十依据一个有用的算法来找到最小(最大)的k的数量-线性搜索算法

    例如:进入1.2.3,4,5,6.7.8此8数字,最小的4图的1,2,3,4. 思路1:最easy想到的方法:先对这个序列从小到大排序.然后输出前面的最小的k个数就可以.假设选择高速排序法来进行排序, ...

  2. LinkedBlockingQueue的put,add跟offer的区别(转)

    LinkedBlockingQueue的put,add和offer的区别 最近在学习<<Java并发编程实践>>,有很多java.util.concurrent包下的新类.Li ...

  3. ANDROID PAD版本号 PHONE版本号 源代码有什么 差别?

    ANDROID PAD版本号 PHONE版本号 源代码有什么 差别? 直接把frameworks/base/core/res/res/values/config.xml里面的<bool name ...

  4. myeclipse解决JSP文件script调整背景颜色

    1进口MyEclipse主题后,打开jsp要么html文件,jsvascript部分原因遭遇了一层白色的.闪避这个时候.症状,如下面: watermark/2/text/aHR0cDovL2Jsb2c ...

  5. Cordic 算法的原理介绍

    cordic 算法知道正弦和余弦值,求反正切,即角度. 采用用不断的旋转求出对应的正弦余弦值,是一种近似求解发. 旋转的角度很讲求,每次旋转的角度必须使得 正切值近似等于 1/(2^N).旋转的目的是 ...

  6. hdu4717 The Moving Points 三分法

    题意:坐标系上有n个点,每个点的坐标和移动方向速度告诉你,速度方向都是固定的.然后要求一个时刻,使得这个时刻,这些点中最远的距离最小. 做法:三分法,比赛的时候想不到.考虑两个点,如果它们走出来的路径 ...

  7. Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Multiple representations of the same entity解决方法

    1.错误信息 Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUs ...

  8. 使用Json让Java和C#沟通的方法

    原文:使用Json让Java和C#沟通的方法 最近很忙啊,新项目下来了,都没时间写博客了.频率降低点,但不能不总结跟大家分享啊. 我们在项目里经常要涉及到各模块间的通信,这其中又不可避免要碰到各类语言 ...

  9. android ndk通过遍历和删除文件

           在做移动开发过程,难免有些本地文件管理操作.例如,很常见app随着微博.微信要清除缓存功能,此功能是走app文件夹.然后删除所有缓存文件.使用java的File类能够实现本地文件遍历及删 ...

  10. MongoDB在window下的安装

    1.下载mongodb的windows版本号,有32位和64位版本号,依据系统情况下载,下载地址:http://www.mongodb.org/downloads 2.解压缩至D:/mongodb就可 ...