SSIS 在重用前重置变量

ssis reset variable before reusing

我的 ssis 包中有一个变量 @[User::fileExist],如果文件存在,我用它来 return 结果。

它默认为 0 然后如果文件存在它将 return 1。我决定稍后在包中重新使用此变量如何在再次使用之前重置此变量

您可以使用脚本任务重置变量的值。

使用表达式任务

SQL Server 2012 或更新版本

您可以使用表达式任务来实现此目的。只需将表达式任务添加到您的包中并使用以下表达式

@[User::fileExist] = 0

阅读更多@:


使用脚本任务

或者您可以使用脚本任务来实现这一点,只需将脚本任务添加到您的包中,选择此变量作为 ReadWrite Variable 并在脚本中写入以下代码 (您必须 select Microsoft Visual Basic 作为脚本语言):

Public Sub Main()
    Dts.Variables.Item("fileExist").Value = 0

    Dts.TaskResult = ScriptResults.Success

End Sub

跳过重置而只设置它如何:

Dts.Variables["fileExists"].Value = System.IO.File.Exists(filePath);

一种标准且更透明的方法是在您希望变量处于活动状态的地方创建序列容器。为他们提供该容器的范围,您将确保在下一次迭代中重新创建它们。