我有一个在晚上8点运行的SSIS包,针对的是2011年。
我希望在晚上8:30分时运行相同的包,但是针对的是2010年。
我创建了一个SSIS包配置文件,并将“年份”作为参数进行了接受。每当我运行时,我需要打开一个文件,更改值并运行它。
是否可能设置计划并动态设置年份值?
或者使用两个不同的配置文件是唯一解决的办法吗?
谢谢大家。
我有一个在晚上8点运行的SSIS包,针对的是2011年。
我希望在晚上8:30分时运行相同的包,但是针对的是2010年。
我创建了一个SSIS包配置文件,并将“年份”作为参数进行了接受。每当我运行时,我需要打开一个文件,更改值并运行它。
是否可能设置计划并动态设置年份值?
或者使用两个不同的配置文件是唯一解决的办法吗?
谢谢大家。
dtexec.exe /file MyPackage.dtsx
即使您使用SQL Agent,在幕后也会构建这些命令行参数。此方法假定您创建了两个不同的作业(而不是1个作业每天安排2次)。AgentMyPackage2011具有导致SSIS作业步骤的作业,结果为dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
您希望配置的属性没有GUI或选择器。但是,由于您已经为包创建了一个.dtsConfig文件,请打开该文件并查找类似于以下部分:
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
该文件已经具有您正在尝试配置的"thing"的路径,因此请将其输入调用程序中,然后关闭包配置的年份部分。
最后,提供一个SSIS Configuration Precedence的链接,因为2005模型和2008模型存在差异。我看到您在工单中指示了2008,但对于将来的读者,如果您同时使用/SET和配置源(xml、sql server、registry、环境变量),操作顺序会因版本而异。