是否可以使用ForEach更改脚本任务中的对象变量值,然后将其存储在对象变量中?

时间:2018-09-11 14:00:59

标签: loops foreach ssis script-task

我使用VS 2008 SSIS。

  1. 我有一个数据流任务,可以从表中获取行并将其存储在Object变量中。
  2. 我使用Foreach循环一一获取Object变量的值。
  3. 在我的Foreach内部,我每次都使用脚本任务来更改/解密变量的值。

我的问题是我找不到如何将解密后的值存储回Object变量,因为我需要将它们保存到Flat File中。

我使用了另一个Object变量,并尝试将解密后的值保存在其中。但是只保存最后的解密值而不是整个列表。

请分享您的想法或建议。任何帮助或建议,将不胜感激!

2 个答案:

答案 0 :(得分:1)

您可以在没有SSIS Foreach循环的情况下访问对象变量。下面的示例从对象变量填充DataTable,更新C#foreach循环中命名的列的DataRow,并将其写回到对象变量。完成此脚本任务后,您可以对对象变量的更新内容进行任何必要的操作,包括写入平面文件目标。

<httpPlatform processPath="%AZURE_TOMCAT85_HOME%\bin\startup.bat">
    <environmentVariables>
        <environmentVariable name="CATALINA_OPTS" value="-Dport.http=%HTTP_PLATFORM_PORT% -Xms512m -Xmx2048m" />
        <environmentVariable name="CATALINA_HOME" value="%AZURE_TOMCAT85_HOME%" />
    </environmentVariables>
</httpPlatform>

答案 1 :(得分:0)

由于您的目标是将解密后的值保存到平面文件中,因此您可以创建最终的数据流,并将对象变量用作源,在脚本转换(而不是任务)中进行解密,然后发送结果到您的平面文件目的地。