原文:实例学习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. 策略模式设计模式(Strategy)摘录

    23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例.一个系统独立于怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将 ...

  2. VB.Net出口Excel原则

        在VB机房的版本中,我们已经暴露导出Excel特征,此功能已重新接触到不同的理解 一.原理 要实现导出Excel的功能,首先要引用命名空间,目的是能够使用该命名空间下的方法和类 Imports ...

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

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

  4. Axis2 转让Webservice 介面

    1,先学习部署环境.建立Axis2周围环境. http://blog.csdn.net/lanqibaoer/article/details/22731291 如今调用一个现有的公共webservic ...

  5. jQuery Easy UI Accordion(可伸缩的面板)包

    Accordion 可伸缩的面板组件.基于panel,示为以下的比率: <!doctype html> <html lang="en"> <head& ...

  6. nodejs中使用monk訪问mongodb

    mongodb 安装mongodb 我认为还是用mannual install靠谱一点儿:http://docs.mongodb.org/manual/tutorial/install-mongodb ...

  7. Javascript DOM编程艺术

    Chapter 0 为什么读这本书?作为js入门书,补基础,由于本书代码demo较简单,并没有贴代码,只记录一些自己要注意的知识点以及代码脚本 Chapter 1: javascript简史 DOM全 ...

  8. php 开发技巧

    以下九种PHP一个非常有用的功能.我不知道你还没有使用?1. 的功能,你可能知道的参数,任意数量PHP我同意你定义一个函数默认参数. 但你可能并不知道PHP还同意你定义一个全然随意的參数的函数以下是一 ...

  9. KMP算法之从next[]到nextVal[]

    前些日子写了一篇KMP算法的博文,浅谈数据结构之KMP(串中的模式匹配算法),在这片文章中,谈到了一个模式串K值的记录数组 next[],详细可看那篇文章,其实,前面定义的next[]数组是有一定缺陷 ...

  10. css3简单几步画一个乾坤图

    原文:[原创]css3简单几步画一个乾坤图 效果如上,鼠标移上去会有动画. 代码如下非常简单: <html> <head> <style> .outer{heigh ...