0
我有两个嵌套的foreach循环容器。每个循环都使用不同的结果集。我有一个脚本任务,在内部的foreach循环容器中,我需要能够获取两个循环当前行的值。一种做法是在两个循环中使用变量映射,但是有没有办法从脚本中访问当前行?有任何想法吗?SSIS - 如何访问包含在Foreach循环容器中的脚本任务中的结果集数据?
我有两个嵌套的foreach循环容器。每个循环都使用不同的结果集。我有一个脚本任务,在内部的foreach循环容器中,我需要能够获取两个循环当前行的值。一种做法是在两个循环中使用变量映射,但是有没有办法从脚本中访问当前行?有任何想法吗?SSIS - 如何访问包含在Foreach循环容器中的脚本任务中的结果集数据?
您可以通过Dts
对象的Variables
财产,如果你在脚本任务编辑器添加此变量ReadOnlyVariables
或ReadWriteVariables
列表访问脚本任务循环容器映射变量。
将每个循环的当前行映射到变量,然后在脚本任务中访问这些变量。这不够吗?
例子:
string fileName = (string) Dts.Variables["FileName"].Value;
你可以在这里阅读更多:http://msdn.microsoft.com/en-us/library/ms135941.aspx
更新:
您可以一次全行映射到变量。使用Object
作为变量类型,并在Foreach循环的变量映射中设置Index = -1
。您应该接收枚举数,该枚举类型与枚举集合有关。
Piotr,谢谢。我知道这种方法(变量映射),但我想知道是否有任何其他方式没有创建和映射如此多的变量(当然取决于数据集中的列数)。 – user1634332
@ user1634332请阅读更新。希望能帮助到你。 –