Prozess ausführen (Task)
Der Task „Prozess ausführen“ führt eine Anwendung oder Batchdatei als Teil eines SQL Server Integration Services-Paketworkflows aus. Obwohl Sie mithilfe des Tasks Prozess ausführen alle Standardanwendungen öffnen können, wie z. B. Microsoft Excel oder Microsoft Word, werden Sie der Regel damit Geschäftsanwendungen oder Batchdateien für eine Datenquelle ausführen. 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 z. B. mit einem Task Prozess ausführen auch eine benutzerdefinierte Visual Basic-Anwendung ausführen, die einen täglichen Umsatzbericht generiert. Anschließend können Sie den Bericht an einen "Mail senden"'-Task anfügen und an eine Verteilerliste weiterleiten.
Integration Services schließt weitere Tasks ein, die Workflowvorgänge ausführen, wie z. B. das Ausführen von Paketen. Weitere Informationen finden Sie unter Execute Package Task.
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 Integration Services(SSIS)-Protokollierung und benutzerdefinierte Meldungen für die Protokollierung.
Protokolleintrag | BESCHREIBUNG |
---|---|
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. |
Konfiguration des Tasks "Prozess ausführen"
Sie können Eigenschaften 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:
Eigenschafteneinstellungen
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 Integration Services-Variablen (SSIS) 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 die StandardInputVariable-Eigenschaft verwenden, um den Task Prozess ausführen zum Bereitstellen von Eingaben zu konfigurieren, rufen Sie die Console.ReadLine
-Methode aus der Anwendung auf, um die Eingabe zu lesen. Weitere Informationen finden Sie im Artikel Console.ReadLine-Methode 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 verwenden, um die Anwendung zu schreiben, legen Sie die
My.Application.CommandLineArgs
-Eigenschaft fest. Im folgenden Beispiel ruft dieMy.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 der My.Application.CommandLineArgs-Eigenschaft.
Wenn Sie Microsoft Visual C# verwenden, um die Anwendung zu schreiben, verwenden Sie die
Main
-Methode.Weitere Informationen finden Sie im C#-Programmierhandbuch unter Befehlszeilenargumente (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.
Programmgesteuerte Konfiguration des Tasks "Prozess ausführen"
Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften anzuzeigen: