【发布时间】:2017-03-28 15:23:26
【问题描述】:
我有一个带有 4 个序列容器的 SSIS 包。他们每个人都有一个脚本任务。我想从脚本任务代码中捕获容器的名称。我怎样才能做到这一点?我还没有找到访问父对象的方法。
正如@LONG 所评论的,我目前已经用变量实现了这一点。我的问题是,因为每个容器完全相同(即它包含相同的任务和代码),所以当我进行更改时,我只在其中一个中进行,然后删除其他 3 个,然后复制/粘贴一个更新。因此,通过变量实现,我需要在复制/粘贴部分之后进行更多更改,这可以通过读取容器名称来避免
【问题讨论】:
-
它相当 hacky,但建立在 System::ParentContainerGUID 上,您可以让脚本任务通过 SSIS 对象模型打开包,然后查看该 GUID 的任务并从那里提取 name 属性.最大的挑战是脚本任务无法访问整个包,因此您需要传入 .dtsx 的位置,然后如果它在 msdb 或 SSISDB 而不是文件中,这种方法会变得很难看系统
标签: sql-server ssis script-task