0

我有一个带有 4 个序列容器的 SSIS 包。他们每个人都有一个脚本任务。我想从脚本任务代码中捕获容器的名称。我怎样才能做到这一点?我还没有找到访问父对象的方法。

正如@LONG 所评论的那样,我目前已经用变量实现了这一点。我的问题是,因为每个容器完全相同(即它包含相同的任务和代码),所以当我进行更改时,我只在其中一个中进行,然后删除其他 3 个,然后复制/粘贴一个更新。因此,通过变量实现,我需要在复制/粘贴部分之后进行更多更改,这可以通过读取容器名称来避免

4

1 回答 1

1

你可以Variable用来实现这一点。

在您的情况下,定义另外四个variables用于存储container名称,并在字段中命名它们value

然后进入properties每个容器的页面,展开Expression,设置Name等于对应的变量,之后你可以发现容器名称已经变成了那个值名称。

最后,您可以在脚本中将该变量用作只读或读写,这与容器名称相同。

更新:

如果您认为这太复杂且耗时(事实并非如此),您可以使用一个名为的系统变量System::ParentContainerGUID来唯一标识每个容器,即使您从同一个容器复制和粘贴,if 也会为该容器生成一个唯一的 ID 字符串一。但这是一个随机字符的字符串,与实际名称不同。

于 2017-03-28T15:29:18.660 回答