原文:实例学习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. adp设备是什么

    今天在写软工文档的可行性分析部分的时候.遇到一个新名词--adp,瞬间就不淡定了.原话例如以下: 6.1.1 基本建设投资 包含採购.开发和安装下列各项所需的费用,如: a. 须要提供一件教室,供开发 ...

  2. “jquery于each方法和选择”学习笔记

    <head> <title></title> <script src="jquery-1.4.2.js" type="text/ ...

  3. 如何解决Ora-04031错误(转)

    诊断并解决ORA-04031 错误 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并.如果仍然没有足够大单个的大块内存满足请求,就会产生 ...

  4. IIS7安装场景对照表

    原文 IIS7安装场景对照表 Default Server Install Components Server Manager Update Name Static Content IIS-Stati ...

  5. zzu--2014年11月16日月潭赛 C称号

    1230: Magnets Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 24  Solved: 13 [id=1230" style=&q ...

  6. Nio得知3——该示范基地:多路复用器模式

    Reactor模式和NIO 本文可以看作是Doug Lea Scalable IO in Java一文的翻译. 当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socke ...

  7. C# Windows服务的创建、安装、调试

    一.查看已有的Windows服务 选择菜单"开始"-〉"控制面板"-〉"管理工具"-〉"服务"来查看现有系统中的服务 二 ...

  8. JavaScript 数组的indexOf()、remove()、splice() , pop()方法

    js中,按照值删除数组中的某个元素 Array.prototype.indexOf = function(val) {            for (var i = 0; i < this.l ...

  9. C++ Primer中文本查询演示样例Query的实现

    近期在看C++ Primer复习C++的语法,看到书中15.9章中的文本查询演示样例时,认为设计得非常不错,于是便动手照着实现了一个,改动了非常久最终执行成功了,从中也学习到了非常多的语法.以下把实现 ...

  10. js中从blob提取二进制

    文章结构: 一.所遇到的问题 二.解决方法 一. 服务器端通过websocket向浏览器端传输图片(二进制),需要根据不同的图片把图片显示在不同的位置,可行的一个方法是先把图片转化成二进制数组,再把二 ...