【问题标题】:SSIS - How to access resultset data in script task that is contained in Foreach loop container?SSIS - 如何访问包含在 Foreach 循环容器中的脚本任务中的结果集数据?
【发布时间】:2012-08-29 20:39:34
【问题描述】:

我有两个嵌套的 foreach 循环容器。每个都在不同的结果集上循环。我有一个脚本任务,在内部 foreach 循环容器中,我需要能够访问两个循环的当前行的值。一种方法是在两个循环上使用变量映射,但是有没有办法从脚本中访问当前行?有什么想法吗?

【问题讨论】:

    标签: ssis foreach-loop-container


    【解决方案1】:

    如果将此变量添加到脚本任务编辑器中的ReadOnlyVariablesReadWriteVariables 列表,则可以通过Dts 对象的Variables 属性访问脚本任务中循环容器中映射的变量。

    将每个循环的当前行映射到变量,然后在脚本任务中访问该变量。这还不够吗?

    例子:

    string fileName = (string) Dts.Variables["FileName"].Value;
    

    您可以在这里阅读更多内容:http://msdn.microsoft.com/en-us/library/ms135941.aspx

    更新:
    您可以一次将整行映射到变量。使用Object作为变量类型,在Foreach循环的Variable mappings中设置Index = -1。你应该会收到枚举器,该类型与枚举集合有关。

    【讨论】:

    • 皮奥特,谢谢。我知道这种方法(变量映射),但我想知道是否有任何其他方法不创建和映射这么多变量(当然取决于数据集中的列数)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多