我的ssis包中有一个变量@[User::fileExist]
,如果文件存在,我用它来返回结果。
默认为0
,如果文件存在,则返回1
。我决定稍后在包中重新使用这个变量,如何在重新使用之前重置此变量
答案 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)
一种标准且更透明的方法是在需要变量存在的位置创建序列容器。赋予它们该容器的范围,您将确保在下一次迭代中重新创建它们。