创建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仅仅是实现了基本的功能,缺少异常处理,所以我们还要加上异常处理,如何进行异常处理会在后面详细描述。