创建Package之前首先我们理解需求:

数据源是一组历史货币数据包含在平面文件SampleCurrencyData.txt中,源数据中有四列。

下面是SampleCurrencyData.txt文件的一组示例数据:

1.00010001 ARS 9/3/2001 0:00 0.99960016

1.00010001 ARS 9/4/2001 0:00 1.001001001

1.00020004 ARS 9/5/2001 0:00 0.99990001

1.00020004 ARS 9/6/2001 0:00 1.00040016

1.00050025 ARS 9/7/2001 0:00 0.99990001

1.00050025 ARS 9/8/2001 0:00 1.001001001

1.00050025 ARS 9/9/2001 0:00 1

1.00010001 ARS 9/10/2001 0:00 1.00040016

1.00020004 ARS 9/11/2001 0:00 0.99990001

1.00020004 ARS 9/12/2001 0:00 1.001101211

1. 首先打开SQL Server Business Intelligence Development Studio -> 新建项目 -> Intergration Services 项目

命名项目为SSISStudy1, 如图1.1

2. 解决方案管理器 -> 右键单击SSIS包 新建一个Package -> 命名Package为 LoadEmployeeData.dtsx, 如图1.2

在图1.2中,左边工具栏中就是实现ETL 功能的工具(后面会有具体常用工具的功能描述),开发的时候我们需要把用到的工具拖到控制流的界面下,在连接管理器的界面上我们可以 通过右键单击创建于数据源的连接。

3. 下面我们开始根据需求去实现这个Package的功能。

首先在连接管理器界面创建一个平面文件连接, 如图1.3

文件名数据源文件的路径加文件名

标题行分隔符: 选逗号与文件中分隔符一致,可以通过左边预览键查看数据格式是否正确。

然后点击左边高级选项进行设置 如图1.4:

文件平面管理器会根据在常规选项设置的规则生成相应的列数,默认名称为列0, 列1, 列2. 需要我们在杂项中的Name属性中定义一个有意义的名字。

如果后期数据源中的列数目有变动的话,我们可以通过新建和删除进行调整。

在DataType中定义字段对应的类型, Integration Services 将根据前 200 行数据自动建议最合适的数据类型。 您还可以将这些建议选项改为增加或减少取样数据,以便指定整数数据或布尔数据的默认数据类型,或添加作为填充量添加到字符串列中的空格。

4. 在连接管理器界面单击右键创建一个OLE DB连接, 如图1.5:

文件中数据会通过该数据库连接加载数据到数据库AdventureWorks中。

5. 把工具栏中的数据流任务控件拖拽到控制流界面, 如图1.6:

6. 双击数据流进入数据流界面

拖拽平面文件源到数据流界面, 选择平面文件连接管理器Department(如果只有一个平面连接管理器的话会默认选择), 如图1.7:

7. 在工具箱的数据流目标列表下找到OLE DB目标拖拽到数据流界面, 与平面文件连接, 如图1.8:

设置OLE DB目标, OLE DB连接管理器为AdventureWorks,表为Department, 如图1.9:

进入映射选项, 使文件中的列(Source)与数据库表中列(Target)一一对应, 如:1.10:

到此为止这个package的基本功能以经完成了,下面就启动调试查看一下结果

通过查看结果发现数据已经插入到表中

到此为止一个简单的Package就完成了,当然我们会发现这个Package仅仅是实现了基本的功能,缺少异常处理,所以我们还要加上异常处理,如何进行异常处理会在后面详细描述。

一步一步创建一个简单的Package(1)的更多相关文章

  1. 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型

    第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...

  2. 用Eclipse 创建一个 简单的 Maven JavaWeb 项目

    使用Maven 创建一个简单的 javaWeb 项目: 本篇属于 创建 JavaWeb 项目的第三篇: 建议阅读本篇之前 阅读 用 Eclipse 创建一个简单的web项目  ;本篇是这这篇文章的基础 ...

  3. 用 Eclipse 创建一个简单的web项目

    Eclipse neon 汉化版 ; 1;右击新建 -->  选择 动态Web项目 2:  填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...

  4. django创建一个简单的web站点

    一.新建project 使用Pycharm,File->New Project…,选择Django,给project命名 (project不能用test命名)   新建的project目录如下: ...

  5. mysql 如何创建一个简单的存储过程

    1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test ...

  6. Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...

  7. 如何创建一个简单的Visual Studio Code扩展

    注:本文提到的代码示例下载地址>How to create a simple extension for VS Code VS Code 是微软推出的一款轻量级的代码编辑器,免费,开源,支持多种 ...

  8. 如何创建一个简单的C++同步锁框架(译)

    翻译自codeproject上面的一篇文章,题目是:如何创建一个简单的c++同步锁框架 目录 介绍 背景 临界区 & 互斥 & 信号 临界区 互斥 信号 更多信息 建立锁框架的目的 B ...

  9. Windows 8.1 应用再出发 (WinJS) - 创建一个简单项目

    前面几篇我们介绍了如何利用 C# + XAML 完成Windows Store App 功能的实现,接下来的几篇我们来看看如何利用 Html + WinJS 来完成这些功能. 本篇我们使用WinJS ...

随机推荐

  1. Aisino 金税盘 pass throught

  2. jira破解

    JIRA是一个优秀的问题(or bugs,task,improvement,new feature )跟踪及管理软件.    它由Atlassian开发,采用J2EE技术.它正被广泛的开源软件组织,以 ...

  3. 解决各大浏览器兼容问题hack

    解决各大浏览器兼容问题hack,IE6/ IE7/ IE8/ IE9/ Firefox/ Opera/ Webkit/ Chrome/ Safari. 浏览器兼容是网站前端页面制作最基本的问题,通常I ...

  4. css控制大小写

    转换不同元素中的文本: text-transform:uppercase //全大写 text-transform:lowercase //全小写 text-transform:capitalize ...

  5. win32进阶必备:多线程同步之互斥锁

    应用多线程互斥锁之前首先简单过一下C程序可能用到的3个创建线程函数: CreateThread,windows系统提供的唯一创建线程API,_beginthread和_beginthreadex都在内 ...

  6. DRM你又赢了:其API纳入HTML5标准

    摘要:W3C今天发布了一份加密媒体扩展工作草案(EME),将支持DRM多媒体数字内容,而且浏览器将无需使用Flash或Silverlight.EME定义了一系列API,允许JavaScript和HTM ...

  7. URAL 1019 - Line Painting

    跟前面某个题一样,都是区间染色问题,还是用我的老方法,区间离散化+二分区间端点+区间处理做的,时间跑的还挺短 坑爹的情况就是最左端是0,最右端是1e9,区间求的是开区间 #include <st ...

  8. linux下hexdump和od命令:显示文件十六进制格式

    Linux指令: od 示例用法:  od -c hello Linux指令:      od od命令用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进 ...

  9. MongDB简介

    一.基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C+ ...

  10. ORM之三:DbProvider与DbFactory

    这里涉及到两个关键对象,一个是DbProvider,另一个就是DbFactory.粗略草图如下:   从上图可以看出,开放给消费者的接口就是DbProvider类,不过他主要继承IDbProvider ...