从存储过程执行SSIS包脚本任务获取变量值

时间:2016-07-13 22:40:36

标签: sql ssis package integration

我有一个SSIS包,它接受(通过package参数)一个值,通过脚本变量(readonly变量)将其传递给脚本任务,将其转换为脚本任务内的另一个值,最后写入该值out到另一个脚本变量(readwrite变量)。除了一个脚本任务外,包中没有其他SSIS模块。

我想从包外面(通过SQL)做的是:

  1. 调用SSIS包,传入我的参数和变量
  2. 的值
  3. 获取在脚本任务执行结束时确定的读/写变量的值
  4. 我已经步骤#1 工作了,只是无法弄清楚#2

    如何在SSIS包执行后获取包变量的值?它可以访问吗?它存储在任何地方还是可以存储在SSIS目录中的某个位置?我试图查看它是否存储在SSISDB。[catalog] .executions表中,但它似乎并不存在。

    我是否需要将该脚本变量写入package参数,以便在执行后从SQL中查看它?我可以通过使用EXEC [SSISDB]。[catalog] .get_parameter_values看到它,还是只在包执行之前显示参数值?我完全错误地采取了这种方式吗?

    提前致谢!

1 个答案:

答案 0 :(得分:0)

我要做的是在包中添加最后一步,将变量的值写入表中。

然后,您可以通过SQL从表中检索值。

您可以每次截断表格,也可以保留每次运行包时的永久历史记录。