当运作SSIS包时,怎样动态更新变量值

贯彻形式

SQL Server,       
若使动态更新变量,可以啊变量创造布局,将这些部署部署到包中,然后在配备包时更新配备文件被的变量值。这样,在运作时,包就是得使用更新后的变量值。

        下面通过一个简便的例子来申明什么贯彻动态更新变量值。

事例要求

        把同摆Order表从远程总结机实例“TRIY-2FE792BB5D\SQL2008DE”
遵照需要输入(Order.dbo.Name),把数量导入到本机实例”RERI-6EC5991410\SQL2008DE”

事例实现

     
创造一个简单易行的“数据流任务”,具体操作步骤这里就是聊过,来拘禁于效率域”Package”,创立一个用户定义之变量”Name”.数据类型为”String”,值为”Nr.00002″

SQL Server 1 

 在”OLE DB 源”引用变量:

SQL Server 2 

内需SSIS包调式OK过,我们连下去就是将变量配置部署至包中,在菜单”SSIS”找到“包配置”:

 这里安装了一个布局型为“SQL Server”的保险配置。

SQL Server 3 

 [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属性

 SQL Server 4

好布置,我们尽管得在,本机实例”RERI-6EC5991410\SQL2008DE”的“Order”所在数据库中,查及相应的布数据:

 

SQL Server 5 

 部署SSIS包完成后,遵照需要修改 [dbo].[SSIS
Configurations]遭到的配置值”Nr.00002″,执行SSIS包时候,包中变量”Name”的价值就汇合动态更新,如现大家将”Nr.00002″变成”Nr.00010″

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

 SQL Server 6

推行包后,我们得望包执行进度中,包调用面配置的安排字符串“RERI-6EC5991410\SQL2008DE.SSIS_DB.sa”

SQL Server 7 

 这样虽落实了小说起初的要求部分。

 另,在保管配置上,配置型为堪设置成其它品种,日常用底是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>

 

 

 

 

 

 

 

相关文章