首页 > 代码库 > SSIS之数据流任务

SSIS之数据流任务

 

  数据流任务主要用于运行数据流以提取、转换、加载源数据。一个包中可以有多个数据流任务,也可以包含零个数据流任务。下面关系图显示含有一个数据流任务的包:

技术分享

 

 

了解数据流任务后,我们就简要的学习一下如何创建数据流任务。

  1. 在工具箱中双击数据流任务控件或则将其拖放到控制流页面中。如图:技术分享

 

 

你可以根据需求来修改数据流任务的属性。

2. 单击数据流选项卡,从工具箱中拖放一个OLE DB Source.命名为Products。右击选择编辑进行配置。如图所示。

技术分享其中sql语句的问号表示通过变量传递的参数值。单击参数按钮将问号映射到创建的变量。如图:技术分享

  你也可以通过变量属性的下拉框中选择新建变量选项创建新的变量。然后单击确定按钮回到父选项框,再然后单击确定按钮

3. 在工具箱将Lookup 查找控件拖放到数据流中,通过从数据源拖动绿色箭头到该转换,将Products源和Lookup转换相连接。将Lookup转换命名为Find Model name。然后双击该控件,做如下配置:

  3.1 常规选项卡配置如下:

 技术分享

 

  3.2  连接配置如下

技术分享

  3.3  列配置如下

 技术分享

  3.4  高级配置如下

      如果在常规选项卡中选择完全缓存模式,则该选项卡不能使用。

 技术分享

 

  3.5  错误输出配置如下

 技术分享

 

这样一个完整的Lookup转换就配置结束。这个已完成的配置的转换现在的做法是,试图根据数据源中的ProductModelID匹配表ProductModel。如果无匹配的行,就会发生错误,不过,因为已经配置该转换忽略这一错误,因此如果没有找到匹配的。ModelName列将包含Null值。

4. 将一个派生列和行计数控件拖放到数据流中,分别命名为 Assign Default Values And Prie、No Mapping Count,并将Lookup转换的输出连接到该派生列行计数控件。如下图:

 

技术分享

打开派生列的编辑框。配置如下信息

 技术分享

配置行计数信息如下

 技术分享

 

5.经过对源数据的转换后,将这些数据加载到目标数据中。可以将行计数拖放到设计窗格。连接派生列到行计数,将行计数命名为Mapping Count。双击它并配置如下信息:

 

技术分享

将组建选项卡中的VariableName属性设为IntCount,当然这个变量事先要在变量工具箱中设计好。

  • 在工具箱中的数据流目标卡中,托动一个平面文件目标。命名为Partner Extract。右击单击编辑,选择新建按钮,弹出对话框

 

技术分享

然后单击确定按钮,弹出下面的对话框

 

技术分享

剩下的配置,按连接管理器配置方式进行配置。在这我们是将转换后的数据输出到:

E:\BI资料\SSISETLDemo\partnerextract.txt 中

到此一个完整的数据流任务就建立完成。整体流程如下

 

技术分享

运行该包。得到如下信息

 

技术分享

SSIS之数据流任务