带参数/配置文件的SSIS包

时间:2013-11-19 14:51:12

标签: sql ssis sql-server-2008-r2

只是想知道实现这样的目标的最佳方法是什么:

我有一张表,我想查询数据并通过电子邮件发送结果,但参数会有所不同。我要查找的字符串可能会随着搜索的日期/时间范围而变化,其他一些可配置的项目也会有所不同。

我正在考虑做的是创建一个SSIS包,它可以与某些包含搜索字符串,范围等变量的文本文件一起使用,然后使用dtexec我会传递文件名(其中包含变量items)作为参数。由于它是一个SSIS包,我应该能够使用一个时间表或ad-hoc运行它,这将是更好的,我将有一个SSIS包而不是很多。

然后最后如果我想运行CustomSearch1,我会运行: dtexec / file MyPackage.dtsx / Set \ Package.Variables [User :: INIfile] .Properties [Value]; \“CustomSearch1 \”

因此,例如,如果我想运行CustomSearch2,我会运行: dtexec / file MyPackage.dtsx / Set \ Package.Variables [User :: INIfile] .Properties [Value]; \“CustomSearch2 \”

这是一种很好的方法,还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

这当然是一种方法,完全有效。

您还可以考虑将搜索条件放在他们自己的数据库表中,并在另一个字段(“CustomSearch1”等)中标记您的搜索名称,然后像您一样传递该字段。在我看来,这似乎比文本文件更容易维护,但你可以选择你喜欢的东西。

更一般地说,为什么SSIS?例如,为什么不是一个非常简单的C#控制台应用程序,它使用传入的参数对表运行存储过程,返回集合并通过电子邮件发送它? SSIS通常更适合实际将数据从一个地方移动到另一个地方,或以某种方式处理它,或者深度统计采样等等。

或者SSRS?编写一个存储过程,该过程采用自定义搜索名称并返回正确的数据。参数化搜索名称。 SSRS报告可以安排,通过电子邮件发送或临时运行,并通过电子邮件发送内容。