码迷,mamicode.com
首页 > 其他好文 > 详细

变量在SSIS包中的使用

时间:2014-05-19 12:49:13      阅读:443      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   tar   

2010~2011年经常使用SSIS包采集加工数据,后来换了工作就很少使用。
最近又开始用那玩意采集数据,努力回想之前是怎样操作的,网上各种找各种纠结。趁这次使用记录下日常操作步骤,以备以后不时之需。


--环境SQL Server2012、VS2010(安装数据库时默认会安装)
下载示例数据库AdventureWorks2012

bubuko.com,布布扣
1 CREATE DATABASE [AdventureWorks2012] ON
2 (FILENAME=ND:\SQL2012\MSSQL11.SQL12\MSSQL\DATA\AdventureWorks2012_Data.mdf)
3 FOR ATTACH
View Code

一、变量的使用
1、新建一个Integration Services 项目SSISForVariable
2、创建变量
菜单栏->SSIS->变量(或控制流空白区域右击->变量)调出变量窗口,创建两个日期变量
3、创建连接管理器
新建两个OLE DB连接AdventureWorks2012、DBA_Monitorbubuko.com,布布扣
4、添加数据流任务->添加OLEDB源、OLEDB目标
编辑OLEDB源配置如图所示,点击参数,修改参数与变量的映射关系

bubuko.com,布布扣
编辑OLEDB目标,调整输入列与输出列的映射关系

bubuko.com,布布扣bubuko.com,布布扣
5、运行包,查询目标表记录

bubuko.com,布布扣bubuko.com,布布扣
6、将上述OLEDB源中的SQL命令封装成存储过程,代码如下:

bubuko.com,布布扣
1 use [AdventureWorks2012]
2 create proc pro_GetProduct
3 @StartDate datetime,
4 @EndDate datetime
5 as
6 select ProductID,Name,ProductNumber,Color,ListPrice from Production.Product
7 where SellStartDate>@StartDate and SellStartDate<@EndDate
View Code

执行存储过程得到结果如下:

bubuko.com,布布扣
将OLEDB源中的SQL命令修改成存储过程形式,运行失败!

bubuko.com,布布扣bubuko.com,布布扣
修改参数名字为存储过程所定义的参数(必须保持完全一致,包括大小写),运行通过。bubuko.com,布布扣
上面的过程在申明变量的时候就给变量赋值。还可以用另外两种方式给变量赋值,一种是通过执行 SQL 任务组件返回值的方式给变量赋值,一种是通过脚本组件来给变量赋值。
二、变量另外两种赋值方式
1、通过执行 SQL 任务组件
添加执行 SQL 任务,编辑任务,在常规页面->SQL语句 可以从相关的表中取数据。这里为了方便,直接select 常量(为了体现不一样,取06年到07年的数据),ResultSet选择单行。结果集页面添加查询语句返回列与变量的对应关系。

bubuko.com,布布扣bubuko.com,布布扣
运行包,得到了06-07年的数据,当然可以参照前面调整OLEDB源中的代码。

bubuko.com,布布扣
2、通过脚本组件
暂时没用过,略...

变量在SSIS包中的使用,布布扣,bubuko.com

变量在SSIS包中的使用

标签:style   blog   class   code   c   tar   

原文地址:http://www.cnblogs.com/Uest/p/3735475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!