Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
SSIS Integration Runtime in Azure Data Factory
Der For-Schleifen-Container definiert einen sich wiederholenden Kontrollfluss in einem Paket. Die Schleifenimplementierung ist mit der For -Schleifenstruktur in Programmiersprachen zu vergleichen. Bei jeder Wiederholung der Schleife wertet der For-Schleifencontainer einen Ausdruck aus und wiederholt dessen Workflow, bis der Ausdruck zu Falseausgewertet wird.
Der For Loop-Container verwendet die folgenden Elemente, um die Schleife zu definieren:
Einen optionalen Initialisierungsausdruck, der den Schleifenzählern Werte zuweist.
Ein Ausdruck zur Auswertung, der den Ausdruck enthält, mit dem geprüft wird, ob die Schleife beendet oder fortgesetzt werden soll.
Einen optionalen Iterationsausdruck, der den Schleifenzähler inkrementiert oder reduziert.
Das folgende Diagramm zeigt einen For-Schleifencontainer mit einem Task „E-Mail senden“. Falls der Initialisierungsausdruck @Counter = 0ist, lautet der Auswertungsausdruck @Counter < 4. Falls der Iterationsausdruck @Counter = @Counter + 1ist, wird die Schleife viermal wiederholt, und es werden vier E-Mail-Nachrichten gesendet.
Die Ausdrücke müssen gültige SQL Server Integration Services-Ausdrücke sein.
Zum Erstellen der Initialisierungs- und Zuweisungsausdrücke können Sie den Zuweisungsoperator (=) verwenden. Dieser Operator wird von der Ausdrucksgrammatik von SQL Server Integration Services anderweitig nicht unterstützt und kann nur in den Ausdruckstypen für Initialisierung und Zuweisung im For Loop-Container verwendet werden. Jeder Ausdruck, der den Zuweisungsoperator verwendet, erfordert die Syntax @Var = <expression>. Hierbei ist Var eine Laufzeitvariable, und <expression> ist ein Ausdruck, der den Regeln der SSIS-Ausdruckssyntax entspricht. Für diesen Ausdruck sind die Variablen, Literale sowie Operatoren und Funktionen zulässig, die von der SSIS-Ausdrucksgrammatik unterstützt werden. Der Ausdruck muss einen Datentyp ergeben, der in den Datentyp der Variablen konvertiert werden kann.
Für einen For-Schleifencontainer ist nur ein Auswertungsausdruck zulässig. Dies bedeutet, dass der For-Loop-Container alle Steuerungsflusselemente gleich oft ausführt. Der For-Schleifencontainer kann andere For-Schleifencontainer enthalten, sodass Sie geschachtelte Schleifen erstellen und komplexe Schleifen in Pakete implementieren können.
Sie können die Transaktionseigenschaft für den For Loop-Container festlegen, um eine Transaktion für einen Teil des Steuerungsflusses des Pakets zu definieren. Auf diese Weise können Sie Transaktionen mit feinerer Granularität verwalten. Zum Beispiel können Sie, wenn ein For-Schleifencontainer einen Steuerungsfluss wiederholt, der Daten in einer Tabelle mehrmals aktualisiert, den For-Schleifencontainer und seinen Steuerungsfluss so konfigurieren, dass eine Transaktion verwendet wird, um sicherzustellen, dass keine Daten aktualisiert werden, wenn nicht alle Daten erfolgreich aktualisiert werden. Weitere Informationen finden Sie unter Integration Services-Transaktionen.
Hinzufügen einer Iteration zu einer Ablaufsteuerung mit einem For-Schleifencontainer
Integration Services umfasst den For Loop-Container, ein Ablaufsteuerungselement, mit dem Sie auf einfache Weise Schleifen implementieren können, die einen Steuerungsablauf in einem Paket abhängig von einer Bedingung wiederholen. Weitere Informationen finden Sie unter For Loop-Container.
Der For-Schleifencontainer wertet bei jeder Iteration der Schleife eine Bedingung aus und stoppt, wenn die Bedingung den Wert False ergibt. Der For Loop-Container enthält Ausdrücke zum Initialisieren der Schleife, zum Angeben der Auswertungsbedingung, die die Ausführung des sich wiederholenden Steuerungsflusses beendet, und zum Zuweisen eines Werts für einen Ausdruck, der den Wert aktualisiert, mit dem die Auswertungsbedingung verglichen wird. Sie müssen eine Auswertungsbedingung angeben, Initialisierungs- und Zuweisungsausdrücke sind dagegen optional.
Der For-Schleifencontainer stellt keine Funktionalität bereit. Er stellt lediglich die Struktur bereit, in der Sie die wiederholbare Ablaufsteuerung erstellen. Damit die Containerfunktionalität verfügbar ist, muss der For Loop-Container mindestens eine Aufgabe enthalten. Weitere Informationen finden Sie unter Integration Services-Tasks.
Der For Loop-Container kann eine Ablaufsteuerung mit mehreren Aufgaben enthalten und auch andere Container einschließen. Das Hinzufügen von Tasks und Containern zu einem For-Schleifencontainer ist mit dem Hinzufügen von Tasks und Containern zu einem Paket vergleichbar, außer dass Sie die Tasks und Container nicht in das Paket, sondern in den For-Schleifencontainer ziehen. Falls der For-Schleifencontainer mehrere Tasks oder Container einschließt, können Sie diese wie bei einem Paket mithilfe von Rangfolgeneinschränkungen verbinden. Weitere Informationen finden Sie unter Rangfolgeneinschränkungen.
Implementieren eines For-Schleifencontainers in einer Ablaufsteuerung
Fügen Sie den Container „For Loop“ dem Paket hinzu. Weitere Informationen hierzu finden Sie unter Hinzufügen oder Löschen eines Tasks oder Containers in einer Ablaufsteuerung.
Fügen Sie dem For-Loop-Container Aufgaben und Container hinzu. Weitere Informationen hierzu finden Sie unter Hinzufügen oder Löschen eines Tasks oder Containers in einer Ablaufsteuerung.
Verbinden Sie Tasks und Container im For-Schleifencontainer mithilfe von Rangfolgeneinschränkungen. Weitere Informationen finden Sie unter Verbinden von Tasks und Containern mithilfe einer Standardrangfolgeneinschränkung.
Konfigurieren Sie den For-Loop-Container.
Konfigurieren Sie den For Loop-Container
In diesem Verfahren wird beschrieben, wie Sie einen For-Schleifencontainer mithilfe des Dialogfelds For-Schleifen-Editor konfigurieren.
Doppelklicken Sie in SQL Server Data Tools (SSDT) auf den For Loop-Container, um den For Loop-Editor zu öffnen.
Ändern Sie optional den Namen und die Beschreibung des For-Schleifencontainers.
Geben Sie optional einen Initialisierungsausdruck in das Textfeld InitExpression ein.
Geben Sie einen Auswertungsausdruck in das Textfeld EvalExpression ein.
Hinweis
Der Ausdruck muss zu einem booleschen Wert ausgewertet werden. Wenn der Ausdruck als false ausgewertet wird, wird die Schleife beendet.
Geben Sie optional einen Zuweisungsausdruck in das Textfeld AssignExpression ein.
Klicken Sie optional auf Ausdrücke , und erstellen Sie auf der Seite Ausdrücke Eigenschaftsausdrücke für die Eigenschaften des For-Schleifencontainers. Weitere Informationen finden Sie unter Hinzufügen oder Ändern eines Eigenschaftsausdrucks.
Klicken Sie auf OK , um den For-Schleifen-Editorzu schließen.
For-Schleifen-Editor (Dialogfeld)
Mithilfe der Seite For-Schleife des Dialogfelds For-Schleifen-Editor können Sie eine Schleife konfigurieren, durch die ein Workflow wiederholt wird, bis eine bestimmte Bedingung mit False ausgewertet wird.
Informationen zum For Loop-Container und zu seiner Verwendung in Paketen finden Sie unter For Loop Container.
Optionen
InitExpression
Optional können Sie einen Ausdruck angeben, der die Werte initialisiert, die von der Schleife verwendet werden.
EvalExpression
Geben Sie einen Ausdruck an, der auswertet, ob die Schleife beendet oder fortgesetzt werden soll.
AssignExpression
Geben Sie optional einen Ausdruck an, durch den bei jeder Wiederholung der Schleife eine Bedingung geändert wird.
Name
Geben Sie einen eindeutigen Namen für den For-Schleifencontainer an. Dieser Name wird im Tasksymbol als Bezeichnung verwendet.
Hinweis
Objektnamen müssen innerhalb eines Pakets eindeutig sein.
Beschreibung
Geben Sie eine Beschreibung des For-Schleifencontainers an.
Verwenden Sie Ausdrücke mit dem For Loop-Container
Wenn Sie den For-Schleifencontainer konfigurieren, indem Sie eine Auswertungsbedingung, einen Initialisierungswert oder einen Zuweisungswert angeben, können Sie Literale oder Ausdrücke verwenden.
Die Ausdrücke können Variablen einschließen. Die Verwendung von Variablen bietet den Vorteil, dass sie zur Laufzeit aktualisiert werden können, wodurch die Pakete flexibler und einfacher zu verwalten sind. Die maximale Länge eines Ausdrucks beträgt 4000 Zeichen.
Wenn Sie eine Variable in einem Ausdruck angeben, müssen Sie dem Variablennamen ein @-Zeichen voranstellen. Geben Sie z.B. für eine Variable mit dem Namen Counter@Counter in den Ausdruck ein, den der For-Schleifencontainer verwendet. Falls Sie die Namespaceeigenschaft für die Variable angeben, müssen Sie die Variable und den Namespace in eckige Klammern einschließen. Geben Sie z.B. für eine Counter -Variable im MyNamespace -Namespace [@MyNamespace::Counter] ein.
Die Variablen, die der For-Schleifencontainer verwendet, müssen im Bereich des For-Schleifencontainers oder im Bereich eines beliebigen Containers, der in der Paketcontainerhierarchie höher angeordnet ist, definiert sein. Beispielsweise kann ein For-Schleifencontainer Variablen verwenden, die in seinem Bereich definiert sind, sowie Variablen, die im Paketbereich definiert sind. Weitere Informationen finden Sie unter Integration Services-Variablen (SSIS) und Verwenden von Variablen in Paketen.
Die Ausdrucksgrammatik von SSIS stellt umfangreiche Operatoren und Funktionen zum Implementieren komplexer Ausdrücke bereit, die zum Auswerten, Initialisieren oder Zuweisen verwendet werden. Weitere Informationen finden Sie unter Integration Services-Ausdrücke (SSIS).