SSIS包变量集顺序

时间:2013-12-18 18:43:10

标签: ssis ssis-2008

我有一个ssis包,变量由数据库表设置。为了重用代码,该软件包将每周运行一次。但是也需要使用它来临时运行它。现在我有了从命令行运行包的代码,我知道如何使用开关/Set \Package.Variables[User::FileName].Properties[Value];"aaab"设置变量名称

我的问题:有没有办法设置是否使用表格或传入值的首选项?或者有没有办法确定执行者是什么,如果我可以确定它是从.net vs作业还是存储过程运行然后我可以说使用传入的值?这可能会有所帮助?

2 个答案:

答案 0 :(得分:1)

尝试查看System :: UserName。如果这是DOMAIN \ SomeSpecialSQLServerAgentAccount运行的每周作业,您可以编写一个将User :: FileName设置为单向的表达式,否则如果该程序包由DOMAIN \ JohnQPublic手动执行,则设置User :: FileName。

您可以为文件名的两个版本使用变量,例如User :: FileNameFromTable和User :: FileNameFromCommandLine,然后根据System :: UserName选择一个或另一个。

恐怕我找不到影响变量设置方式的方法(设计时初始化,配置文件,命令行配置,作业属性配置)。

答案 1 :(得分:1)

有很多方法可以实现包的运行时配置(这就是你正在做的事情)

你没有提到什么版本,但读了这个:

http://msdn.microsoft.com/en-us/library/cc671625.aspx

这个示例说明配置按SQL 2005的顺序发生:

- 应用设计时配置 - 应用-Command行选项 - 应用了包裹配置

这意味着如果使用标准配置从标准SSIS配置表中分配变量,那么任何命令行选项都将在之后覆盖它们。

您是否认为您的用户需要安装SSIS,并且该软件包将在其本地计算机上执行,包括数据往返?