创建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. 射频识别技术漫谈(13)——Mifare S50与S70【worldisng笔记】

    Mifare S50和Mifare S70又常被称为Mifare Standard.Mifare Classic.MF1,是遵守ISO14443A标准的卡片中应用最为广泛.影响力最大的的一员.而Mif ...

  2. HDU 5477 A Sweet Journey 水题

    A Sweet Journey Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...

  3. Codeforces Round #321 (Div. 2) E. Kefa and Watch 线段树hash

    E. Kefa and Watch Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/580/prob ...

  4. JS知识点备忘

    做前端久了,会发现很多比较杂的知识点,平时很少用到(往往在面试的时候经常见到),但是遇到的时候会很揪心...所以遇到的时候把它记录下来,但求有个印象,再次遇到时,可以在这里快速找到解决. 1.文档碎片 ...

  5. UVa 131 - The Psychic Poker Player

    题目:手里有五张牌,桌上有一堆牌(五张).你能够弃掉手中的k张牌,然后从牌堆中取最上面的k个. 比較规则例如以下:(按优先级排序) 1.straight-flush:同花顺.牌面为T(10) - A, ...

  6. CentOS命令行无线上网

    (1)首先关闭开发板的有线网卡[root@FriendlyARM /]# ifconfig eth0 down(2)加载USB WiFi无线网卡[root@FriendlyARM /]# ifconf ...

  7. [Bootstrap] 8. 'Collapse', data-target, data-toggle & data-parent

    Using Bootstrap JavaScript Plugins If we want to add behavior to our website, which of the following ...

  8. android 带表头,左右两个联动的ListView

    package com.rytong.mylist; import java.util.ArrayList; import java.util.HashMap; import java.util.Li ...

  9. LINUX怎么远程连接ORACLE数据库

    A电脑装了ORACLE客户端,B是ORACLE服务器,都在LINUX环境下,请问A电脑怎么访问B上的数据库?该怎么改配置?求高手解答,越详细越好 很简单,你在A电脑安装一个ORACLE 客户端,然后, ...

  10. 2、netlink简介

    Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink ...