2016-10-11 13 views
0

私はssisパッケージを持っています。最初の段階はプロセス実行ステップです。 実行プロセス段階の中で、私は7zコマンドラインに特定のフォルダからzipファイルを爆発させるように頼んでいます。ファイルがない場合、どのようにssisパッケージを停止しますか?

zipファイルがない場合、SSISパッケージは失敗します。 zipファイルがない日もあります。この場合、どのように正常に終了し、正常に終了するのですか?

ありがとう

+0

zipファイルが存在しない場合はどうなりますか?メールを送る? – p2k

+2

各ファイルループごとにaをラップすることができます。ファイルがない場合、ループは実行されません。 –

+0

ニック、あなたの解決策は働いた。それを答えに入れてください。ありがとう。 – arcee123

答えて

0

これは、ファイルがない場合にSSISパッケージを停止する方法です。

  1. ファイルが存在するかどうかをプログラムでチェックします。
  2. 先行制約を使用し、ファイルがある場合にのみ解凍しようとします。

これは、スクリプトタスクでファイルの存在を確認するために使用できるスクリプトの例です。

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 
関連する問題