二.SSIS包的开发[转载]
在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包。现在就介绍一下如何在创建的包中使用各个选项卡。打开上一章节创建的SSIS包。整个界面风格如下:
在整个包中包含了控制流选项卡、数据流选项卡、事件处理程序选项卡等等。下面通过一个简单的例子介绍如何利用这些选项卡创建一个完成的工作任务包。
本示例的主要功能是从数据库AdventureWorks中Product表中读取2001年到2007年的数据导入到Excel中。
- 创建变量
从图左边的变量或从SSIS菜单中选择变量来的打开变量(Variables)按图创建两个日期变量
再图中,我们将变量StartDate的值设置为"2001/1/1",EndDate的值设置为" 2007/1/1" - 创建连接管理器
在创建完变量后,接着创建一个连接管理器。右击程序包编辑器底部的连接管理器窗口的空白处,选择新建OLE DB连接,弹出如下对话框
在图中选择新建按钮。弹出如下图信息。然后根据图中的选项配置数据库信息。最后单击确定保存该连接。
然后在单击确定按钮。最后在连接管理器上创建一个如下数据库连接
你可以右击新建的LocalHost.AdventureWorks.sa连接管理器并重命名为AdventureWorks。
然后右击程序包编辑器底部的连接管理器窗口-〉新建连接-〉Excel文件的连接管理器-〉添加按钮。弹出对话框。然后在对话框中做如下设置。
最终单击确定按钮。然后修改名称为Product.
3 .使用控制流
控制流选项卡是执行程序包的工作流的地方。在本示例中我们从工具中将数据流任务(Data Flow Task)控件拖放到控制流选项卡中。如图所示。这个Data Flow Task 将执行数据的转换工作。
4.使用数据流
双击数据流任务(Data Flow Task)就会打开数据流(Data Flow)选项卡。下图显示了程序包中的数据流选项卡,尚未拖放控件。
从工具箱中拖出一个OLE DB 源,命名为Products。双击改源进行配置,如图所示。确保指向AdventureWorks连接管理器。并将数据访问模式项改为SQL命令。在SQL命令文本窗口中输入下列命令。
select * from Production.Product
where SellStartDate>? and SellStartDate<?
问号表示通过变量传递的参数值。单击参数按钮将问号映射到已创建的变量。在设置查询参数窗口中看到每个问号参数都是有序的。因此第一问号对应Parameter0,第二个问号对应Parameter1 。依次类推。了解参数配置后,我们将Parameter0 映射到User::StartDate,Parameter1映射到User::EndDate。如图:
单击确定按钮返回到数据流选项卡中。接下来在工具箱中的数据流目标中将Excel目标控件拖放到设计窗格上。通过从数据源拖动绿色箭头到该Excel目标源。然后右键单击Excel目标源选择编辑,弹出对话框,接着按图下步骤设置信息。
设置成功后,整个数据流选项卡的流程如下:
5.执行包
包创建成功后,现在我们来执行一下,看看效果如何。右键单击Package.dtsx包-〉选择执行包选项。将会看到如下结果图
途中绿色表示包创建成功并执行完成。打开导入的Excel,我们发现已经存在数据。到此一个简单的包流程设计完成。后续我们将如何使用包中各个选项卡。