传递参数SQL Job

时间:2017-10-04 07:06:34

标签: sql sql-server ssis

我有一个带有变量(对象)的SSIS包,它在脚本任务中使用它的值(类似于:字母{A,B,C,D}),以及对每个字母执行某些操作的foreach容器。

我想为此SSIS包创建一个作业。我如何传递变量"字母"从工作?如果可以,我想在列表中添加更多字母;我想从作业中创建这个变量。

  

示例:字母{A,B,C,D,E}

我知道这是这样的:

宣布@l
设置@l =' A'
选择@l =' / SET \ Package.Variables [User :: letters] .Proprieties [Value]'

对不起,如果不清楚。我不知道该如何解释。

2 个答案:

答案 0 :(得分:0)

实际上你需要创建一个项目参数,并在脚本任务的变量列表中传递你的($ project)参数。您也可以将其定义为必需或不需要,因此当它未在作业中被通知时,您可以在包中定义一些逻辑并分配一个新值,就像您说{A,B,C,D,E}。 / p>

答案 1 :(得分:0)

我会做一些稍微不同的事情,但我做了一个很大的假设。

您可以通过某种方式定义要循环的值。对于此示例,我假设您可以查询您的值。

将名为LoopList的变量设置为数据类型对象。

将var LoopItem设置为字符串

执行SQL对象:

  1. 设置数据连接
  2. 将结果集设置为完整结果集
  3. 在结果集选项卡上映射到LoopList变量
  4. 添加您的查询,例如从表中选择val或其他任何内容。
  5. foreach循环:

    1. 收集是预告ADO
    2. 选择ADO源LoopList
    3. 将LoopItem映射到Index0
    4. 现在你可以运行你想做的任何事情,而不必传递参数。