TechNet
Exportieren (0) Drucken
Alle erweitern

Integration Services-Variablen (SSIS)

 

Betrifft: SQL Server 2016

Variablen speichern Werte, die eine SQL Server Integration Services Paket und dessen Containern, Tasks und Ereignishandler können zur Laufzeit verwenden. Die Skripts im Skripttask und die Skriptkomponente können ebenfalls Variablen verwenden. Die Rangfolgeneinschränkungen, mit denen Tasks und Container zu einem Workflow zusammengestellt werden, können Variablen verwenden, wenn ihre Einschränkungsdefinitionen Ausdrücke einschließen.

Variablen in Integration Services-Paketen können für folgende Zwecke verwendet werden:

  • Aktualisieren der Eigenschaften von Paketelementen zur Laufzeit. Beispielsweise können Sie die von einem Foreach-Schleifencontainer zulässige Anzahl von gleichzeitig ausführbaren Dateien dynamisch festlegen.

  • Einschließen einer Nachschlagetabelle im Arbeitsspeicher. Beispielsweise kann von einem Paket ein Task SQL ausführen ausgeführt werden, der eine Variable mit Datenwerten lädt.

  • Laden von Variablen mit Datenwerten und anschließend mit deren Hilfe Angeben einer Suchbedingung in einer WHERE-Klausel. Beispielsweise kann das Skript eines Skripttasks den Wert einer Variablen aktualisieren, die von einer Transact-SQL-Anweisung in einem Task SQL ausführen verwendet wird.

  • Laden einer Variablen mit einer ganzen Zahl und anschließend Steuern der Schleifen in einer Paketablaufsteuerung mithilfe dieses Werts. Beispielsweise können Sie im Auswertungsausdruck eines For-Schleifencontainers die Iteration mithilfe einer Variablen steuern.

  • Auffüllen von Parameterwerten für Transact-SQL-Anweisungen zur Laufzeit. Beispielsweise kann ein Paket einen Task SQL ausführen ausführen und anschließend die Parameter einer Transact-SQL-Anweisung mithilfe von Variablen dynamisch festlegen.

  • Erstellen von Ausdrücken, die Variablenwerte einschließen. Beispielsweise kann die Transformation für abgeleitete Spalten eine Spalte mit dem Ergebnis aus dem Multiplizieren eines Variablenwerts mit einem Spaltenwert auffüllen.

Integration Services unterstützt zwei Arten von Variablen: benutzerdefinierte Variablen und Systemvariablen. Benutzerdefinierte Variablen werden von Paketentwicklern definiert, und Systemvariablen werden von Integration Services definiert. Sie können so viele benutzerdefinierte Variablen erstellen, wie für das Paket erforderlich sind. Zusätzliche Systemvariablen können jedoch nicht erstellt werden.

Alle Variablen, seien es Systemvariablen oder benutzerdefinierte Variablen, können in den Parameterbindungen verwendet werden, die der Task SQL ausführen zum Zuordnen von Variablen zu Parametern in SQL-Anweisungen verwendet. Weitere Informationen finden Sie unter Task SQL ausführen und Parameter und Rückgabecodes im Task SQL ausführen.

System_CAPS_ICON_note.jpg Hinweis


Bei den Namen von benutzerdefinierten und Systemvariablen wird nach Groß-/Kleinschreibung unterschieden.

Sie können benutzerdefinierte Variablen für alle Integration Services-Containertypen erstellen: Pakete, Foreach-Schleifencontainer, For-Schleifencontainer, Sequenzcontainer, Tasks und Ereignishandler. Bei benutzerdefinierten Variablen handelt es sich um Elemente der Variables-Auflistung des Containers.

Wenn Sie das Paket mit erstellen SSIS -Designer können Sie die Elemente der Variables-Auflistung im sehen die Variablen Ordner auf der Paket-Explorer auf der Registerkarte SSIS Designer. Die Ordner listen benutzerdefinierte Variablen und Systemvariablen auf.

Es gibt folgende Möglichkeiten, um benutzerdefinierte Variablen zu konfigurieren:

  • Geben Sie einen Namen und eine Beschreibung für die Variable an.

  • Geben Sie einen Namespace für die Variable an.

  • Geben Sie an, ob die Variable ein Ereignis auslöst, wenn ihr Wert geändert wird.

  • Geben Sie an, ob die Variable schreibgeschützt ist oder Lese-/Schreibzugriff aufweist.

  • Verwenden Sie das Auswertungsergebnis eines Ausdrucks zum Festlegen des Variablenwerts.

  • Erstellen Sie die Variable im Bereich des Pakets oder eines Paketobjekts, wie z. B. eines Tasks.

  • Geben Sie den Wert und den Datentyp der Variablen an.

Die einzige konfigurierbare Option für Systemvariablen ist das Angeben, ob sie ein Ereignis auslösen, wenn sich der Wert ändert.

Ein anderer Systemvariablensatz ist für andere Containertypen verfügbar. Weitere Informationen zu den Systemvariablen, die von Paketen und deren Elementen verwendet, finden Sie unter Systemvariablen.

Weitere Informationen zu realen Szenarien die Verwendung von Variablen, finden Sie unter verwenden Variablen in Paketen.

Sie können benutzerdefinierte Variablen konfigurieren, indem Sie die folgenden Eigenschaften entweder in der Variablen Fenster oder Eigenschaften Fenster. Bestimmte Eigenschaften sind nur im Eigenschaftenfenster verfügbar.

System_CAPS_ICON_note.jpg Hinweis


Die einzige konfigurierbare Option für Systemvariablen ist das Angeben, ob sie ein Ereignis auslösen, wenn sich der Wert ändert.

Beschreibung
Gibt die Beschreibung der Variablen an.

EvaluateAsExpression
Wenn die Eigenschaft festgelegt wird, um True, der Ausdruck wird verwendet, um den Wert der Variablen festgelegt.

expression
Gibt den der Variablen zugeordneten Ausdruck an.

Name
Gibt den Variablennamen an.

Namespace
Integration Services stellt zwei Namespaces bereit Benutzer und System. Benutzerdefinierte Variablen werden standardmäßig der Benutzer Namespace und Systemvariablen sind in der System Namespace. Können Sie zusätzliche Namespaces für benutzerdefinierte Variablen erstellen und ändern Sie den Namen des der Benutzer Namespace, aber Sie können den Namen der Ändern der System -Namespace Variablen hinzufügen, die System -Namespace oder Systemvariablen einem anderen Namespace zuzuweisen.

RaiseChangedEvent
Wenn die Eigenschaft festgelegt wird, um True, OnVariableValueChanged -Ereignis wird ausgelöst, wenn die Variable den Wert ändert.

ReadOnly
Wenn die Eigenschaft festgelegt wird, um False, die Variable read\write.

Scope

System_CAPS_ICON_note.jpg Hinweis


Sie können die Einstellung dieser Eigenschaft ändern, nur durch Klicken auf Variable verschieben in die Variablen Fenster.

Eine Variable wird im Bereich eines Pakets oder im Bereich eines Containers, Tasks oder Ereignishandlers im Paket erstellt. Der Paketcontainer befindet sich ganz oben in der Containerhierarchie. Deshalb verhalten sich Variablen mit Paketbereichsfunktion wie globale Variablen und können von allen Containern im Paket verwendet werden. Entsprechend können Variablen, die im Bereich eines Containers definiert sind, wie z. B. eines For-Schleifencontainers, von allen Tasks oder Containern innerhalb des For-Schleifencontainers verwendet werden.

Falls ein Paket mithilfe des Tasks Paket ausführen andere Pakete ausführt, können die Variablen, die im Bereich des aufrufenden Pakets oder des Tasks Paket ausführen definiert sind, dem aufgerufenen Paket mithilfe des Konfigurationstyps Variable für das übergeordnete Paket zur Verfügung gestellt werden. Weitere Informationen finden Sie unter Package Configurations.

IncludeInDebugDump
Geben Sie an, ob der Variablenwert in den Debugdumpdateien enthalten ist.

Für benutzerdefinierte Variablen und Systemvariablen, der Standardwert für die InclueInDebugDump Option true.

Für benutzerdefinierte Variablen setzt das System jedoch die IncludeInDebugDump option false wenn Folgendes erfüllt sind:

  • Wenn die EvaluateAsExpression Variable als Eigenschaft auf festgelegt ist true, setzt das System die IncludeInDebugDump option false.

    Um den Text des Ausdrucks als Variablenwert in die debugdumpdatei einzuschließen, setzen die IncludeInDebugDump option true.

  • Wenn der Datentyp der Variablen in eine Zeichenfolge geändert wird, setzt das System die IncludeInDebugDump option false.

Wenn setzt das System die IncludeInDebugDump option false, den vom Benutzer ausgewählten Wert möglicherweise überschrieben.

Wert
Der Wert einer benutzerdefinierten Variable kann ein Literal oder ein Ausdruck sein. Eine Variable enthält Optionen zum Festlegen des Variablenwerts und des Datentyps des Werts. Die beiden Eigenschaften müssen kompatibel sein. Beispielsweise ist das Verwenden eines string-Werts zusammen mit einem integer-Datentyp ungültig.

Falls die Variable so konfiguriert ist, dass sie als Ausdruck ausgewertet wird, müssen Sie einen Ausdruck angeben. Zur Laufzeit wird der Ausdruck ausgewertet, und die Variable wird auf das Auswertungsergebnis festgelegt. Wenn eine Variablen im Ausdruck wird beispielsweise DATEPART("month", GETDATE()) der Wert der Variablen entspricht der Zahl des Monats für das aktuelle Datum. Der Ausdruck muss ein gültiger Ausdruck sein, der die SSIS-Ausdrucksgrammatiksyntax verwendet. Wenn ein Ausdruck mit Variablen verwendet wird, kann der Ausdruck Literale sowie die Operatoren und Funktionen der Ausdrucksgrammatik verwenden. Der Ausdruck kann jedoch nicht auf die Spalten in einem Datenfluss des Pakets verweisen. Die maximale Länge eines Ausdrucks beträgt 4000 Zeichen. Weitere Informationen finden Sie unter Integration Services & #40; SSIS- & #41; Ausdrücke.

ValueType

System_CAPS_ICON_note.jpg Hinweis


Der Eigenschaftswert wird der -Datentyp -Spalte in der Variablen Fenster.

Gibt den Datentyp des Variablenwerts an.

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

Weitere Informationen zu den Eigenschaften, die Sie, in festlegen können SSIS -Designer finden Sie unter Fenster "Variablen".

Weitere Informationen zu variableneigenschaften und Weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften finden Sie unter Variable.

Hinzufügen, Löschen, Ändern des Bereichs von benutzerdefinierten Variablen in einem Paket

Festlegen der Eigenschaften von benutzerdefinierten Variablen

Verwenden der Werte von Variablen und Parametern in einem untergeordneten Paket

Zuordnen von Abfrageparametern zu Variablen in einer Datenflusskomponente

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2016 Microsoft