SSIS から特定のフォルダーにファイルが存在するかどうかを確認したいと考えています。どうすればこれを達成できますか?
質問する
75171 次
4 に答える
10
変数:
フォルダー - 文字列 - C::\Temp\
ファイル - 文字列 - 1.txt
fileExists - ブール値 - False
public void Main()
{
string folder = Dts.Variables["User::folder"].Value.ToString(); //@"C:\temp\";
string file = Dts.Variables["User::file"].Value.ToString(); //"a.txt";
string fullPath = string.Format(@"{0}\{1}", folder, file);
Dts.Variables["User::fileExists"].Value = File.Exists(fullPath);
Dts.TaskResult = (int)ScriptResults.Success;
}
于 2013-07-10T14:49:10.847 に答える
6
Foreach Loop Container
すべてのアイテムを使用して、そこに置くだけです。ファイルが存在する場合は実行され、存在しない場合は実行されません。とてもシンプルです:)
于 2015-04-01T13:47:28.253 に答える
3
「out」変数を使用する代わりにDts.TaskResult
、ファイルが存在するかどうかに基づいて を変更することもできます。以下のスニペットは、ファイルが存在しない場合、スクリプト タスクに失敗します。(ログが有効になっている場合は、ログ エントリも作成されます。)
public void Main()
{
string fileName = Dts.Variables["User::sourcePath"].Value.ToString() + Dts.Variables["User::fileName"].Value.ToString();
if (File.Exists(fileName))
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Log(string.Format("File {0} was not found.",fileName),0,null);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
于 2014-10-09T14:34:26.207 に答える
1
このチェックを実行できる SSIS 内のネイティブ タスクはありませんが、スクリプト タスクを使用してこれを実行できますが、それを実行するために必要な簡単な手順については、次のリンクを確認することをお勧めします。
http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis
于 2013-07-10T12:26:23.033 に答える