it-swarm.com.de

SSIS-Skripttask, um zu prüfen, ob eine Datei in einem Ordner vorhanden ist oder nicht

Ich möchte überprüfen, ob eine Datei in einem bestimmten Ordner von SSIS vorhanden ist. Wie kann ich das erreichen?

11
user1429135

Variablen:

ordner - Zeichenfolge - C ::\Temp \

datei - Zeichenfolge - 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;
}
10
Anoop Verma

Sie können Foreach Loop Container verwenden und einfach alle Ihre Artikel darin ablegen. Es wird ausgeführt, wenn die Datei existiert und nicht, wenn nicht. Sehr einfach :) 

6
Andrey Morozov

Alternativ zu einer "out" -Variable können Sie auch den Dts.TaskResult ändern, je nachdem, ob die Datei existiert oder nicht. Das folgende Snippet schlägt die Skriptaufgabe fehl, wenn die Datei nicht vorhanden ist. (Außerdem wird ein Protokolleintrag erstellt, wenn die Protokollierung aktiviert ist.)

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

}
2
RubberDuck

Es gibt keine systemeigenen Aufgaben innerhalb von SSIS, die diese Prüfung durchführen können. Sie können dies jedoch mit einer Skriptaufgabe erledigen. Ich empfehle Ihnen jedoch, die folgenden Links auf einfache Schritte zu überprüfen, um dies zu erreichen.

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

1
StackTrace