【发布时间】:2012-08-29 20:39:34
【问题描述】:
我有两个嵌套的 foreach 循环容器。每个都在不同的结果集上循环。我有一个脚本任务,在内部 foreach 循环容器中,我需要能够访问两个循环的当前行的值。一种方法是在两个循环上使用变量映射,但是有没有办法从脚本中访问当前行?有什么想法吗?
【问题讨论】:
标签: ssis foreach-loop-container
我有两个嵌套的 foreach 循环容器。每个都在不同的结果集上循环。我有一个脚本任务,在内部 foreach 循环容器中,我需要能够访问两个循环的当前行的值。一种方法是在两个循环上使用变量映射,但是有没有办法从脚本中访问当前行?有什么想法吗?
【问题讨论】:
标签: ssis foreach-loop-container
如果将此变量添加到脚本任务编辑器中的ReadOnlyVariables 或ReadWriteVariables 列表,则可以通过Dts 对象的Variables 属性访问脚本任务中循环容器中映射的变量。
将每个循环的当前行映射到变量,然后在脚本任务中访问该变量。这还不够吗?
例子:
string fileName = (string) Dts.Variables["FileName"].Value;
您可以在这里阅读更多内容:http://msdn.microsoft.com/en-us/library/ms135941.aspx
更新:
您可以一次将整行映射到变量。使用Object作为变量类型,在Foreach循环的Variable mappings中设置Index = -1。你应该会收到枚举器,该类型与枚举集合有关。
【讨论】: