博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在运行SSIS包时,如何动态更新变量值
阅读量:5046 次
发布时间:2019-06-12

本文共 1866 字,大约阅读时间需要 6 分钟。

实现方式

        若要动态更新变量,可以为变量创建配置,将这些配置部署到包中,然后在部署包时更新配置文件中的变量值。这样,在运行时,包就可以使用更新后的变量值。

        下面通过一个简单的例子来说明如何实现动态更新变量值。

例子要求

        把一张Order表从远程计算机实例“TRIY-2FE792BB5D\SQL2008DE” 根据需要输入(Order.dbo.Name),把数据导入到本机实例"RERI-6EC5991410\SQL2008DE"

例子实现

      创建一个简单的“数据流任务”,具体操作步骤这里就略过,来看在作用域"Package",创建一个用户定义的变量"Name".数据类型为"String",值为"Nr.00002"

 

 在"OLE DB 源"引用变量:

 

待SSIS包调式OK过,我们接下来就把变量配置部署到包中,在菜单"SSIS"找到“包配置”:

 这里设置了一个配置类型为“SQL Server”的包配置。

 

 [dbo].[SSIS Configurations]是表名,创建在本机实例"RERI-6EC5991410\SQL2008DE"的“Order”所在数据库中。

CREATE
 
TABLE
 
[
dbo
]
.
[
SSIS Configurations
]
(
    ConfigurationFilter 
NVARCHAR
(
255
NOT
 
NULL
,
    ConfiguredValue 
NVARCHAR
(
255
NULL
,
    PackagePath 
NVARCHAR
(
255
NOT
 
NULL
,
    ConfiguredValueType 
NVARCHAR
(
20
NOT
 
NULL
)

 [dbo].[SSIS Configurations]中字段ConfigurationFilter 存储的是,配置筛选器的值"OrderName"

下面就是设置[dbo].[SSIS Configurations]中ConfiguredValue对应SSIS包变量"Name "的value属性

 

完成配置,我们就可以在,本机实例"RERI-6EC5991410\SQL2008DE"的“Order”所在数据库中,查到对应的配置数据:

 

 

 部署SSIS包完成后,根据需要修改 [dbo].[SSIS Configurations]中的配置值"Nr.00002",执行SSIS包时候,包中变量"Name"的值就会动态更新,如现在我们把"Nr.00002"变成"Nr.00010"

Update
 dbo.
[
SSIS Configurations
]
    
Set
 ConfiguredValue
=
'
Nr.00010
'
    
Where
 ConfigurationFilter
=
'
OrderName
'

 

执行包后,我们可以看到包执行进度中,包调用上面配置的配置字符串“RERI-6EC5991410\SQL2008DE.SSIS_DB.sa”

 

 这样就实现了文章开头的要求部分。

 另,在包配置时候,配置类型也可以设置成别的类型,经常用的是XML配置文件,样式如下:

  
<?
xml version="1.0" 
?>
 
<
DTSConfiguration
>
<
DTSConfigurationHeading
>
  
<
DTSConfigurationFileInfo 
GeneratedBy
="MONO\Andy"
 GeneratedFromPackageName
="Package"
 GeneratedFromPackageID
="{36280B53-9CF8-4681-A546-12C05A82957B}"
 GeneratedDate
="2011-4-16 1:00:24"
 
/>
 
  
</
DTSConfigurationHeading
>
<
Configuration 
ConfiguredType
="Property"
 Path
="\Package.Variables[User::Name].Properties[Value]"
 ValueType
="String"
>
  
<
ConfiguredValue
>
Nr.00002
</
ConfiguredValue
>
 
  
</
Configuration
>
  
</
DTSConfiguration
>

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/wghao/archive/2011/04/16/2017679.html

你可能感兴趣的文章
2018.11.20
查看>>
word20161215
查看>>
12th week blog
查看>>
dijkstra (模板)
查看>>
python小记(3)
查看>>
编译Linux驱动程序 遇到的问题
查看>>
大型分布式网站架构技术总结
查看>>
HDU 1017[A Mathematical Curiosity]暴力,格式
查看>>
[算法之美] KMP算法的直观理解
查看>>
EntityFramework 性能优化
查看>>
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Activity和Fragment生命周期对比
查看>>
OAuth和OpenID的区别
查看>>
android 分辨率自适应
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
国外媒体推荐的5款当地Passbook通行证制作工具
查看>>