我有一个带有 4 个序列容器的 SSIS 包。他们每个人都有一个脚本任务。我想从脚本任务代码中捕获容器的名称。我怎样才能做到这一点?我还没有找到访问父对象的方法。
正如@LONG 所评论的那样,我目前已经用变量实现了这一点。我的问题是,因为每个容器完全相同(即它包含相同的任务和代码),所以当我进行更改时,我只在其中一个中进行,然后删除其他 3 个,然后复制/粘贴一个更新。因此,通过变量实现,我需要在复制/粘贴部分之后进行更多更改,这可以通过读取容器名称来避免
我有一个带有 4 个序列容器的 SSIS 包。他们每个人都有一个脚本任务。我想从脚本任务代码中捕获容器的名称。我怎样才能做到这一点?我还没有找到访问父对象的方法。
正如@LONG 所评论的那样,我目前已经用变量实现了这一点。我的问题是,因为每个容器完全相同(即它包含相同的任务和代码),所以当我进行更改时,我只在其中一个中进行,然后删除其他 3 个,然后复制/粘贴一个更新。因此,通过变量实现,我需要在复制/粘贴部分之后进行更多更改,这可以通过读取容器名称来避免
你可以Variable
用来实现这一点。
在您的情况下,定义另外四个variables
用于存储container
名称,并在字段中命名它们value
。
然后进入properties
每个容器的页面,展开Expression
,设置Name
等于对应的变量,之后你可以发现容器名称已经变成了那个值名称。
最后,您可以在脚本中将该变量用作只读或读写,这与容器名称相同。
更新:
如果您认为这太复杂且耗时(事实并非如此),您可以使用一个名为的系统变量System::ParentContainerGUID
来唯一标识每个容器,即使您从同一个容器复制和粘贴,if 也会为该容器生成一个唯一的 ID 字符串一。但这是一个随机字符的字符串,与实际名称不同。