Prozess ausführen (Task)

Der Task Prozess ausführen führt eine Anwendung oder eine Batchdatei als Teil eines SQL Server Integration Services-Pakets aus. Mit der Task 'Prozess ausführen' können alle Standardanwendungen wie z. B. Microsoft Excel oder Microsoft Word geöffnet werden, normalerweise wird er jedoch zum Ausführen von Geschäftsanwendungen oder Batchdateien für eine Datenquelle verwendet. Beispielsweise können Sie mit dem Task 'Prozess ausführen' eine komprimierte Textdatei expandieren. Anschließend kann das Paket die Textdatei als Datenquelle für den Datenfluss im Paket verwenden. Sie können mit dem Task 'Prozess ausführen' auch eine benutzerdefinierte Visual Basic-Anwendung ausführen, die einen täglichen Umsatzbericht erstellt. Anschließend können Sie den Bericht an einen 'Mail senden'-Task anfügen und an eine Verteilerliste weiterleiten.

Wenn der Task 'Prozess ausführen' eine benutzerdefinierte Anwendung ausführt, stellt der Task mithilfe einer der beiden folgenden Methoden eine Eingabe für die Anwendung bereit:

  • Eine Variable, die Sie in der Eigenschaftseinstellung StandardInputVariable angeben. Weitere Informationen zu Variablen finden Sie unter SQL Server Integration Services-Variablen und Verwenden von Variablen in Paketen.

  • Ein Argument, das Sie in der Eigenschaftseinstellung Argumente angeben. (Wenn der Task beispielsweise ein Dokument in Word öffnet, kann mit dem Argument die DOC-Datei angegeben werden.)

Um mehrere Argumente an eine benutzerdefinierte Anwendung in einem einzigen 'Prozess ausführen'-Task zu übergeben, verwenden Sie Leerzeichen, um die Argumente voneinander zu trennen. Ein Argument darf kein Leerzeichen enthalten; sonst wird der Task nicht ausgeführt. Sie können einen Ausdruck verwenden, um einen Variablenwert als Argument zu übergeben. Im folgenden Beispiel übergibt der Ausdruck zwei Variablenwerte als Argumente und verwendet ein Leerzeichen, um die Argumente voneinander zu trennen:

@variable1 + " " + @variable2

Sie können einen Ausdruck verwenden, um verschiedene Eigenschaften des Tasks 'Prozess ausführen' festzulegen.

Wenn Sie zum Konfigurieren des Tasks "Prozess ausführen" für Eingaben die Eigenschaft StandardInputVariable verwenden, rufen Sie zum Lesen der Eingabe die Console.ReadLine-Methode der Anwendung auf. Weitere Informationen finden Sie im Thema Console.ReadLine in der Microsoft .NET Framework-Klassenbibliothek.

Wenn Sie zum Konfigurieren des Tasks "Prozess ausführen" für Eingaben die Eigenschaft Argumente verwenden, führen Sie zum Abrufen der Argumente einen der folgenden Schritte aus:

  • Wenn Sie Microsoft Visual Basic 2005 verwenden, um die Anwendung zu schreiben, legen Sie die My.Application.CommandLineArgs-Eigenschaft fest. Im folgenden Beispiel ruft die My.Application.CommandLineArgs-Eigenschaft zwei Argumente ab:

    Dim variable1 As String = My.Application.CommandLineArgs.Item(0)
    Dim variable2 As String = My.Application.CommandLineArgs.Item(1) 
    

    Weitere Informationen finden Sie in der Visual Basic-Referenz unter My.Application.CommandLineArgs Property.

  • Wenn Sie Microsoft Visual C# verwenden, um die Anwendung zu schreiben, verwenden Sie die Main-Methode.

    Weitere Informationen finden Sie im C#-Programmierhandbuch unter Command-Line Arguments (C#-Programmierhandbuch).

Der Task 'Prozess ausführen' enthält außerdem die Eigenschaften StandardOutputVariable und StandardErrorVariable zum Angeben der Variablen, die jeweils die Standardausgabe und die Fehlerausgabe der Anwendung in Anspruch nehmen.

Darüber hinaus können Sie für den Task 'Prozess ausführen' ein Arbeitsverzeichnis, einen Timeoutzeitraum oder einen Wert zum Anzeigen der erfolgreichen Ausführung der ausführbaren Datei konfigurieren. Für den Task kann außerdem konfiguriert werden, dass ein Fehler gemeldet wird, falls der Rückgabecode der ausführbaren Datei nicht mit dem Wert übereinstimmt, der für die erfolgreiche Ausführung steht, oder falls die ausführbare Datei im angegebenen Speicherort nicht gefunden wird.

Sonstige verwandte Tasks

Integration Services schließt weitere Tasks ein, die Workflowvorgänge ausführen, wie z. B. das Ausführen von Paketen.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu diesen Tasks zu erhalten:

Verfügbare benutzerdefinierte Protokolleinträge für den Task 'Prozess ausführen'

In der folgenden Tabelle werden die benutzerdefinierten Protokolleinträge für den Task 'Prozess ausführen' aufgelistet. Weitere Informationen finden Sie unter Implementieren der Protokollierung in Pakete und Benutzerdefinierte Meldungen für die Protokollierung.

Protokolleintrag

Description

ExecuteProcessExecutingProcess

Enthält Informationen zu dem Prozess, für dessen Ausführung der Task konfiguriert ist.

Es werden zwei Protokolleinträge geschrieben. Der eine Protokolleintrag enthält Informationen über den Namen und Speicherort der vom Task ausgeführten ausführbaren Datei, im anderen Eintrag wird das Beenden der ausführbaren Datei erfasst.

ExecuteProcessVariableRouting

Enthält Informationen darüber, welche Variablen an die Eingabe und an die Ausgaben der ausführbaren Datei geleitet werden. Es werden Protokolleinträge für stdin (für die Eingabe), für stdout (für die Ausgabe) und für stderr (für die Fehlerausgabe) geschrieben.

Konfigurieren des Tasks 'Prozess ausführen'

Eigenschaften können Sie mit dem SSIS-Designer oder programmgesteuert festlegen.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS-Designer festlegen können:

Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften im SSIS-Designer zu erhalten:

Programmgesteuertes Konfigurieren des Tasks 'Prozess ausführen'

Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften anzuzeigen:

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.