簡體   English   中英

SSIS腳本任務,用於檢查文件是否存在於文件夾中

[英]SSIS Script task to check if file exists in folder or not

我想檢查SSIS中特定文件夾中是否存在文件。 我怎么能做到這一點?

變量:

folder - string - C :: \\ Temp \\

file - string - 1.txt

fileExists - boolean - 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;
}

您可以使用Foreach Loop Container ,只需將所有項目放入其中即可。 如果文件存在則執行,否則不執行。 很簡單 :)

作為具有“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;
    }

}

SSIS中沒有可以執行此檢查的本機任務,但您可以使用腳本任務完成此操作,但我建議您檢查以下鏈接以了解實現此目的所需的簡單步驟。

http://www.bidn.com/blogs/DevinKnight/ssis/76/does-file-exist-check-in-ssis

http://sqlmag.com/sql-server-integration-services/simple-effective-way-tell-whether-file-exists-using-ssis-package

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM