如果没有文件,如何停止ssis包?

时间:2016-10-11 04:10:30

标签: ssis

我有一个ssis包,第一阶段是Execute Process步骤。 在Execute Process Stage中,我要求7z命令行从给定文件夹中分解zip文件。

如果没有zip文件,则SSIS包失败。将有几天没有zip文件。我如何成功完成,并在这种情况下优雅地结束?

由于

1 个答案:

答案 0 :(得分:0)

如果没有文件,这就是停止SSIS包的方法。

  1. 以编程方式检查文件是否存在。
  2. 使用优先约束,仅尝试解压缩文件。
  3. 这是一个脚本示例,您可以在脚本任务中使用该脚本来检查文件是否存在。

    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports System.IO
    
    Public Class ScriptMain
    
        Enum ScriptResults
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        End Enum
    
        Partial Public Class ScriptMain
            Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    
            Public Sub Main()
    
                Dim directory As DirectoryInfo = New DirectoryInfo("c:\")
                Dim file As FileInfo() = directory.GetFiles("*.zip")
    
                If file.Length > 0 Then
                    Dts.Variables("User::FileExists").Value = True
                Else
                    Dts.Variables("User::FileExists").Value = False
                End If
    
                Dts.TaskResult = ScriptResults.Success
             End Sub
        End Class
    End Class