Share via


Vergleich zwischen Skripttask und Skriptkomponente

Der Skripttask, der im Fenster "Ablaufsteuerung" des Integration Services-Designers zur Verfügung steht, und die Skriptkomponente im Fenster "Datenfluss" dienen in einem Integration Services-Paket völlig unterschiedlichen Zwecken. Der Task stellt ein allgemeines Ablaufsteuerungstool dar, während die Komponente als Quelle, Transformation oder Ziel im Datenfluss dient. Trotz ihres unterschiedlichen Zwecks verfügen der Skripttask und die Skriptkomponente jedoch über Gemeinsamkeiten hinsichtlich der verwendeten Codierungstools sowie der Objekte im Paket, die sie dem Entwickler bereitstellen. Die Unterschiede und Gemeinsamkeiten zu kennen, kann Ihnen dabei helfen, Task und Komponente effektiver einzusetzen.

Gemeinsamkeiten zwischen Skripttask und Skriptkomponente

Skripttask und Skriptkomponente verfügen über folgende gemeinsame Funktionen:

Funktion

Beschreibung

Zwei Entwurfszeitmodi

Bei Task und Komponente legen Sie zunächst im Editor Eigenschaften fest und wechseln anschließend in die Entwicklungsumgebung, um Code zu schreiben.

Microsoft Visual Studio Tools for Applications (VSTA)

Task und Komponente verwenden dieselbe VSTA IDE und unterstützen in Microsoft Visual Basic oder Microsoft Visual C# geschriebenen Code.

Vorkompilierte Skripts

Ab SQL Server 2008 Integration Services (SSIS) werden alle Skripts vorkompiliert. In früheren Versionen konnten Sie festlegen, ob Skripts vorkompiliert werden sollten.

Das Skript wird in binärem Code vorkompiliert. Dies ermöglicht eine schnellere Ausführung, vergrößert jedoch das Paket.

Debuggen

Beim Debuggen in der Entwurfsumgebung unterstützen der Task und die Komponente Breakpoints und die schrittweise Ausführung von Code. Weitere Informationen finden Sie unter Codieren und Debuggen des Skripttasks und Codieren und Debuggen der Skriptkomponente.

Unterschiede zwischen Skripttask und Skriptkomponente

Skripttask und Skriptkomponente weisen folgende wichtige Unterschiede auf:

Funktion

Skripttask

Skriptkomponente

Ablaufsteuerung/Datenfluss

Der Skripttask wird auf der Registerkarte Ablaufsteuerung des Designers konfiguriert und außerhalb des Paketdatenflusses ausgeführt.

Die Skriptkomponente wird auf der Seite Datenfluss des Designers konfiguriert und stellt eine Quelle, Transformation oder ein Ziel im Datenflusstask dar.

Zweck

Ein Skripttask kann fast jede allgemeine Aufgabe ausführen.

Sie müssen festlegen, ob Sie mit der Skriptkomponente eine Quelle, Transformation oder ein Ziel erstellen möchten.

Ausführung

Ein Skripttask führt benutzerdefinierten Code an einem bestimmten Punkt im Paketworkflow aus. Er wird nur einmal ausgeführt, sofern Sie ihn nicht in einem Schleifencontainer oder Ereignishandler platzieren.

Auch eine Skriptkomponente wird einmal ausgeführt. Sie führt aber ihre Verarbeitungsroutine meist für jede Datenzeile im Datenfluss aus.

Editor

Der Skripttask-Editor weist drei Seiten auf: Allgemein, Skript und Ausdrücke. Nur die ReadOnlyVariables-, ReadWriteVariables- und ScriptLanguage-Eigenschaften wirken sich direkt auf den von Ihnen geschriebenen Code aus.

Der Transformations-Editor für Skripterstellung verfügt über maximal vier Seiten: Eingabespalten, Eingaben und Ausgaben, Skript sowie Verbindungs-Manager. Die Metadaten und Eigenschaften, die Sie auf diesen Seiten konfigurieren, legen die Member der Basisklassen fest, die für Sie bei der Codierung automatisch generiert werden.

Interaktion mit dem Paket

Im Code für ein Skripttask verwenden Sie die Dts-Eigenschaft, um auf andere Funktionen des Pakets zuzugreifen. Die Dts-Eigenschaft ist ein Member der ScriptMain-Klasse.

Im Skriptkomponentencode verwenden Sie typisierte Accessoreigenschaften für den Zugriff auf bestimmte Paketfunktionen wie Variablen und Verbindungs-Manager.

Die PreExecute-Methode kann nur auf schreibgeschützte Variablen zugreifen. Die PostExecute-Methode kann sowohl auf schreibgeschützte als auch auf Lese-/Schreibvariablen zugreifen.

Weitere Informationen zu diesen Methoden finden Sie unter Codieren und Debuggen der Skriptkomponente.

Verwenden von Variablen

Der Skripttask verwendet die Variables-Eigenschaft des Dts-Objekts, um auf Variablen zuzugreifen, die über die ReadOnlyVariables- und ReadWriteVariables-Eigenschaften des Tasks bereitgestellt werden. Beispiel:

Die Skriptkomponente verwendet typisierte Accessoreigenschaften der automatisch generierten Basisklasse, die aus den ReadOnlyVariables- und ReadWriteVariables-Eigenschaften der Komponente erstellt werden. Beispiel:

Verwenden von Verbindungen

Der Skripttask nutzt die Connections-Eigenschaft des Dts-Objekts, um auf im Paket definierte Verbindungs-Manager zuzugreifen. Beispiel:

Die Skriptkomponente verwendet typisierte Accessoreigenschaften der automatisch generierten Basisklasse, die aus der Liste von Verbindungs-Managern erstellt werden, die vom Benutzer auf der Seite Verbindungs-Manager des Editors eingegeben wurden. Beispiel:

Auslösen von Ereignissen

Der Skripttask verwendet die Events-Eigenschaft des Dts-Objekts, um Ereignisse auszulösen. Beispiel:

Die Skriptkomponente löst Fehler, Warnungen und Informationsmeldungen mithilfe der Methoden der IDTSComponentMetaData100-Schnittstelle, die von der ComponentMetaData-Eigenschaft zurückgegeben werden, aus. Beispiel:

Protokollierung

Der Skripttask verwendet die Log-Methode des Dts -Objekts, um Informationen bei aktivierten Protokollanbietern zu protokollieren. Beispiel:

Die Skriptkomponente verwendet die Log-Methode der automatisch generierten Basisklasse, um Informationen bei aktivierten Protokollanbietern zu protokollieren. Beispiel:

[Visual Basic]

Dim bt(0) As Byte

Me.Log("Test Log Event", _

0, _

bt)

Zurückgeben von Ergebnissen

Der Skripttask verwendet die TaskResult-Eigenschaft sowie die optionale ExecutionValue-Eigenschaft des Dts -Objekts, um die Laufzeit über die Ergebnisse zu benachrichtigen.

Die Skriptkomponente wird als Teil des Datenflusstasks ausgeführt und erstellt keine Ergebnisberichte mit einer dieser Eigenschaften.

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 MSDN auf der Integration Services-Seite:


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

Siehe auch

Verweis

Erweitern von Paketen mithilfe des Skripttasks

Konzepte

Erweitern des Datenflusses mit der Skriptkomponente

Andere Ressourcen

Verarbeiten von Webdiensten in SSIS mit Skripts (Curated Answers)