2017-07-10 14 views
0

SSISパッケージを使用してデータをロードし、最後に特定のフォルダにファイルをアーカイブします。SSIS:1つのタスクでフォルダとアーカイブファイルを作成する

enter image description here

「が存在しない場合はアーカイブフォルダの作成」 はちょうどOverwriteDestinationFile=True

でシンプルなOperation "Create Directory"を行います「アーカイブINPUTFILE」 は、基本的にはちょうどに負荷ディレクトリからファイルパスを変更Operation "RenameFile" を行いますアーカイブディレクトリ

ファイルを移動/名前を変更する前に、コピー先のディレクトリが存在することを保証するための最初のタスクを使用しています。

私はこれらの2つのタスクを1つのステップで行うことはできませんか?

答えて

2

もちろん、可能です。スクリプトを作成する必要があります。

2つの変数を作成します。ソースパスと宛先パス。

名前空間:using System.IO;

string fileName = "test.txt"; //file name 
    string sourcePath = Dts.Variables["User::var_source"].Value.ToString(); //source path 
    string targetPath = Dts.Variables["User::var_destination"].Value.ToString(); //destination path with folder 

    string sourceFile = System.IO.Path.Combine(sourcePath, fileName); 
    string destFile = System.IO.Path.Combine(targetPath, fileName); 

    if (!System.IO.Directory.Exists(targetPath)) 
    { 
     System.IO.Directory.CreateDirectory(targetPath); 
    } 

    System.IO.File.Copy(sourceFile, destFile, true); 

スクリーンショット:

img

+0

THX - あなたが言ったように私はいくつかの時間を持っているときに私は、IDにしようとします。現在作業中の他のいくつかの問題で苦労しています^^ –

+1

確かに。あなたが立ち往生したときに私にタグをつけてください。 :) –