Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果没有文件,如何停止ssis包?_Ssis - Fatal编程技术网

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

如果没有文件,如何停止ssis包?,ssis,Ssis,我有一个ssis包,第一阶段是执行流程步骤。 在executeprocess阶段中,我要求7z命令行分解给定文件夹中的zip文件 如果没有zip文件,SSIS包将失败。将有几天没有zip文件。在这种情况下,我如何成功地完成并优雅地结束 谢谢这是在没有文件时停止SSIS包的方法 以编程方式检查文件是否存在 使用优先约束,并且仅尝试解压缩文件(如果存在) 这是一个脚本示例,您可以在脚本任务中使用该脚本来检查文件是否存在 Imports System Imports System.Data Impor

我有一个ssis包,第一阶段是执行流程步骤。 在executeprocess阶段中,我要求7z命令行分解给定文件夹中的zip文件

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


谢谢

这是在没有文件时停止SSIS包的方法

  • 以编程方式检查文件是否存在
  • 使用优先约束,并且仅尝试解压缩文件(如果存在)
  • 这是一个脚本示例,您可以在脚本任务中使用该脚本来检查文件是否存在

    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
    

    如果zip文件不存在怎么办?发送邮件?您可以将其包装在一个for-each-file循环中。如果没有文件,循环就不会运行。尼克,你的解决方案成功了。你能把它写在一个答案里吗?谢谢