简单的SSIS问题 - 最佳实践:使用不同的变量运行相同的代码

Fro*_*III 2 ssis

我编写了一个SSIS包,它基本上从多个来源获取数据并将其写入Excel文件(它比这更复杂,但我认为具体细节在这一点上并不重要).

现在,我需要运行每周来这个DTSX包(上周一),以及每月(1日),并保存Excel文件通过包内的变量指定一个名字,已经运行几个简单的SQL存储过程,这要么通过"每周"或"每月"来计算获得正确数据所需的日期.

最初的计划是复制DTSX软件包并让SQL Job每周一运行第一个软件包,每个月1日运行第二个软件包.

有没有办法可以使用相同的包来做这两件事(例如,我可以以某种方式将"每月"或"每周"传递到SQL作业的DTSX包中)如果是这样,我该怎么做?

谢谢,鲍勃

Raj*_*ore 5

在名为ExecutionMode的包中创建一个变量.将此变量用作相应存储过程的参数.将ExecutionMode设置为"Weekly"或"Monthly"并运行您的包.确保所有过程都正确运行.

使用Package Configurations并将ExecutionMode放入包的配置文件中.现在,ExecutionMode可以作为参数传递.

为"SQL Server Integration Services"类型的SSIS包创建两个作业.在每个中,指定包和配置文件.在SET VALUES选项卡上,选择ExecutionMode变量并根据计划将其设置为"Weekly"或"Monthly".

以下是如何运行命令行(包括设置变量):

http://www.sqlservercentral.com/articles/SQL+Server+2005+-+SSIS/2999/