ssis在重用之前重置变量

时间:2017-12-11 18:21:29

标签: sql-server variables ssis etl sql-server-data-tools

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

默认为0,如果文件存在,则返回1。我决定稍后在包中重新使用这个变量,如何在重新使用之前重置此变量

4 个答案:

答案 0 :(得分:2)

使用表达式任务

SQL Server 2012或更新版

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

@[User::fileExist] = 0

了解更多@:

使用脚本任务

或者您可以使用脚本任务来实现此目的,只需将一个脚本任务添加到您的包中,选择此变量作为ReadWrite Variable并在脚本内部编写以下代码(您必须选择Microsoft Visual Basic as script Language)

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

    Dts.TaskResult = ScriptResults.Success

End Sub

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如何跳过重置并设置它:

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

答案 3 :(得分:0)

一种标准且更透明的方法是在需要变量存在的位置创建序列容器。赋予它们该容器的范围,您将确保在下一次迭代中重新创建它们。