变量在SSIS包中的使用

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


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

1 CREATE DATABASE [AdventureWorks2012] ON
2 (FILENAME=N‘D:\SQL2012\MSSQL11.SQL12\MSSQL\DATA\AdventureWorks2012_Data.mdf‘)
3 FOR ATTACH

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


编辑OLEDB目标,调整输入列与输出列的映射关系


5、运行包,查询目标表记录


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

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

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


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


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


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


2、通过脚本组件
暂时没用过,略...

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

时间: 2024-10-27 14:08:25

变量在SSIS包中的使用的相关文章

怎样修改SSIS包中 Connection Manager 中的参数

Solution 1: 点击Visual Studio 工具栏中的 SSIS,出先下拉菜单,选择Variables,在出现的Variables 窗体中修改想要修改的变量的Value Solution 2: 在Control Flow 页面空白处 右击,在弹出的菜单中选择Variables,在出现的Variables 窗体中修改想要修改的变量的Value

SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流 首先我们来看看包里面的变量 SSIS包变量分为两种,一种是系统的内置变量,是一个SSIS包初使化都会自带的,一种是用户自己定义的变量. 在SSIS包中,常用的变量的类型包含以下:Int32,String,Boolean,DateTime,Object...... 二,让我们来看看包里面的约束(线) 如图中所示的线就是约束,官方的解释是这样

dtexec命令执行SSIS包

默认情况下,同时安装了 64 位和 32 位版本的 Integration Services 命令提示实用工具的 64 位计算机将在命令提示符处运行 32 位版本.运行 32 位版本的原因是:在 PATH 环境变量中,32 位版本的目录路径显示在 64 位版本的目录路径之前.(通常,32 位目录路径是 <驱动器>:\Program Files(x86)\Microsoft SQL Server\100\DTS\Binn,而 64 位目录路径是 <驱动器>:\Program File

一步一步部署SSIS包图解教程

本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx).包配置文件(*.dtsconfig)以及包的其它相关文件,打包成一个安装文件,以利于到其它计算机安装与部署. 下面我们以前面介绍的DEPJ1200 为例,来详细介绍包部署的完整过程. (-)生成安装部署文件.  在SQL Server Business Intelligence Developme

[译]通过存储在 64bit 环境中执行32 bit的SSIS包

最近碰到了一个众所周知的32bit的 SSIS 包在64bit的SQL Server环境的执行问题. 我看了一些解决方案,比如修改在SSDT里面修改 debug 选项(Run64BitRuntime = false) 或者建立一个job执行的时候强制以32bit方式运行. 不过我发现这些方式并不合适大型的自动化环境. 你可能在测试SSIS包的候会用这些方法 ,但是你部署到SSIS服务器的时候不一定想要这么做. 我想还有一个方法就是建立一个job, 强制包为32bit执行模式.然后建立一个脚本更改

R语言:利用caret包中的dummyVars函数进行虚拟变量处理

dummyVars函数:dummyVars creates a full set of dummy variables (i.e. less than full rank parameterization----建立一套完整的虚拟变量 先举一个简单的例子: survey<-data.frame(service=c("very unhappy","unhappy","neutral","happy","very

如何调试SSIS包之跟踪变量赋值

在SSIS开发工具SQL Server Data Tools中提供了调试功能,可以让我们方便的跟踪参数赋值或者数据流条数.本文主要介绍了如何使用SSDT的调试功能. Part A: Script task 的调试 情景:在一个SSIS package中参数rating的默认值是0,我们假设在Scrit Taks中需要把rating值更改为10.   在Scripttask里面加入C#赋值代码,来把Rating 的值赋值为10. public void Main() { // TODO: Add

查找jar包中.class文件关键字(变量名,字符串)

有时查看日志,常常会发现由框架底层打印的错误日志.要修改这个错误的时候,如果不是对框架特别熟悉,就需要按照可能产生这个错误日志的流程一步一步找,一时半会不一定能找到.比如本人最近对smartfoxserver搭建的服务器做压测的时候,发现最大等待线程数超过20就会打印错误日志,然后就一直在smartfoxserver接受请求的反编译代码里找该错误输出,花了很长时间一直没找到.然后我在想能否用inputstream来查询字符串,试验代码如下: import java.io.BufferedRead

SSIS 包配置

在商业智能解决方案中,SSIS工程有两种部署模式:工程部署(project deployment)和包部署(package deployment),默认是工程部署模式,在Package的管理上,工程部署模式是当前主流的部署模式,比包部署的更容易管理,也更容易对package进行调试和故障排除,而包部署模式是传统的部署模式在包部署模式中.在包部署模式中,SSIS引擎支持包配置(Package Configuration)功能,用户能够在Package运行时动态修改属性值.包配置是配置项的集合,每一