none
DTSでのステップの実行管理について RRS feed

  • 質問

  • SQL Server2000のDTSを使用してあるフォルダにファイルが存在した場合は
    その後のステップ(テキストからテーブルへデータインポート)を実行して
    存在しない場合はそのステップで処理を終了したい。
    *しかしどちらの場合も正常終了させたい

    VBScriptで以下のコードをステップ内で実行した場合に
    タスクの実行失敗が発生してしまいます。
    以下の①、②はどのように使用するのでしょうか?

    Function Main()
        Dim fso 'File system object
        Set fso = CreateObject("Scripting.FileSystemObject")
        IF (fso.FileExists("C:\temp\download.tmp")) THEN
            Main = DTSStepScriptResult_ExecuteTask ---①
        ELSE
            Main = DTSStepScriptResult_DontExecuteTask ---②
    END IF End Function 

    DTSTaskExecResult_Success および
    DTSTaskExecResult_Failure に変更した場合は実行失敗になりません。

    よろしくおねがいします。
    2009年2月18日 1:45

回答

  • DTSStepScriptResult_ExecuteTask や DTSStepScriptResult_DontExecuteTask を戻り値とするような用途であれば
    「AxtiveX スクリプトタスク」への記述ではなく、
    ワークフロー(実行順序を示す線)のプロパティに記述するのではないでしょうか。

    (「ワークフロー」線の先にあたるタスクで)右クリックして、「ワークフロー」→「ワークフローのプロパティ」、
    「オプション」タブを選択して一番下の「AxtiveX スクリプトを使用」のところで
    DTSStepScriptResult_ExecuteTask や DTSStepScriptResult_DontExecuteTask を戻り値とするような vbscript を
    記述してください。


    • 回答としてマーク Fsp6_Kj 2009年2月23日 0:21
    2009年2月19日 6:26

すべての返信

  • DTSStepScriptResult_ExecuteTask や DTSStepScriptResult_DontExecuteTask を戻り値とするような用途であれば
    「AxtiveX スクリプトタスク」への記述ではなく、
    ワークフロー(実行順序を示す線)のプロパティに記述するのではないでしょうか。

    (「ワークフロー」線の先にあたるタスクで)右クリックして、「ワークフロー」→「ワークフローのプロパティ」、
    「オプション」タブを選択して一番下の「AxtiveX スクリプトを使用」のところで
    DTSStepScriptResult_ExecuteTask や DTSStepScriptResult_DontExecuteTask を戻り値とするような vbscript を
    記述してください。


    • 回答としてマーク Fsp6_Kj 2009年2月23日 0:21
    2009年2月19日 6:26
  •   >(「ワークフロー」線の先にあたるタスクで)右クリックして、「ワークフロー」→「ワークフローのプロパティ」、
    >「オプション」タブを選択して一番下の「AxtiveX スクリプトを使用」

    これは知りませんでした。
    分かりやすい回答ありがとうございました。
    きちんと実行管理できました。
    2009年2月23日 0:25