SSIS获得对包的引用

时间:2009-06-26 09:39:18

标签: ssis

我正在尝试以编程方式从我的SSIS包的脚本任务中添加执行SQL任务。我知道Microsoft.SqlServer.Dts.Runtime.Package类有一个可执行文件集合,我可以添加我的新任务但是如何获取对包里面的引用?

2 个答案:

答案 0 :(得分:1)

这是不可能的,SSIS不支持自我修改包。

为了防止尝试执行您尝试执行的操作,任务代码无权访问包API,因此您无法从任务获取对Package对象的引用。但即使你找到了一种方法来解决这个问题 - 结果也是不可预测的,因为不允许在运行时修改包。

如果你能描述你真正想要实现的目标(而不是要求采用特定方式) - 有人可能会找到一种方法来实现它。也许您可以使用子包 - 可以在执行之前修改子包,或者只是更改一些稍后在此包中执行SQL任务使用的变量就足够了?

答案 1 :(得分:0)

正如迈克尔上面所说,你不可能做你想要的。但是,您可以通过在运行时设置变量,或者使用dtexec在运行时启用或禁用某些包来找到解决方案。例如:

dtexec /f e:\ssis\master.dtsx /set \Package\YourPackageName.Disable;True