Skriptkomponente

Die Skriptkomponente hostet Skripts und ermöglicht einem Paket benutzerdefinierten Skriptcode einzuschließen und benutzerdefinierten Skriptcode auszuführen. Die Skriptkomponente kann in Paketen für folgende Zwecke verwendet werden:

  • Anwenden mehrerer Transformationen auf Daten, statt mehrere Transformationen im Datenfluss zu verwenden. Beispielsweise können mit einem Skript die Werte in zwei Spalten hinzugefügt und dann der Mittelwert der Summe berechnet werden.

  • Zugreifen auf Geschäftsregeln in einer vorhandenen .NET-Assembly. Beispielsweise kann ein Skript eine Geschäftsregel anwenden, die den gültigen Wertebereich einer Income-Spalte angibt.

  • Verwenden benutzerdefinierter Formeln und Funktionen zusätzlich zu den Funktionen und Operatoren der Ausdrucksgrammatik von Integration Services. Überprüfen Sie z. B. Kreditkartennummern mithilfe der LUHN-Formel.

  • Überprüfen von Spaltendaten und Auslassen von Datensätzen mit ungültigen Daten. Beispielsweise kann ein Skript auswerten, ob eine Portogebühr angemessen ist, und Datensätze mit extrem hohen oder niedrigen Beträgen auslassen.

Die Skriptkomponente ist eine schnelle und einfache Möglichkeit, um benutzerdefinierte Funktionen in einen Datenfluss einzuschließen. Wenn Sie jedoch den Skriptcode in mehreren Paketen wiederverwenden möchten, sollten Sie nicht die Skriptkomponente verwenden, sondern eine benutzerdefinierte Komponente programmieren. Weitere Informationen finden Sie unter Entwickeln einer benutzerdefinierten Datenflusskomponente.

HinweisHinweis

Wenn die Skriptkomponente ein Skript enthält, das versucht, den Wert einer Spalte zu lesen, die NULL ist, kommt es bei der Ausführung des Pakets zu einem Fehler der Skriptkomponente. Es wird die Verwendung der IsNull-Methode im Skript empfohlen, um zu bestimmen, ob die Spalte NULL ist, bevor versucht wird, den Spaltenwert zu lesen.

Die Skriptkomponente kann als Quelle, als Transformation oder als Ziel verwendet werden. Diese Komponente unterstützt eine Eingabe und mehrere Ausgaben. Abhängig von der Verwendungsweise der Komponente unterstützt sie entweder eine Eingabe und/oder Ausgaben. Das Skript wird von jeder Zeile in der Eingabe oder Ausgabe aufgerufen.

  • Wenn die Skriptkomponente als Quelle verwendet wird, werden mehrere Ausgaben unterstützt.

  • Wenn die Skriptkomponente als Transformation verwendet wird, werden eine Eingabe und mehrere Ausgaben unterstützt.

  • Wenn die Skriptkomponente als Ziel verwendet wird, wird eine Eingabe unterstützt.

Fehlerausgaben werden von der Skriptkomponente nicht unterstützt.

Nachdem Sie entschieden haben, dass die Skriptkomponente für Ihr Paket geeignet ist, müssen Sie die Eingaben und Ausgaben konfigurieren, das Skript entwickeln, das von der Komponente verwendet wird, und die Komponente konfigurieren.

Grundlegendes zu den Skriptkomponentenmodi

Im SSIS-Designer weist die Skriptkomponente zwei Modi auf: Metadatenentwurfsmodus und Codeentwurfsmodus. Im Metadatenentwurfsmodus können Sie Eingaben und Ausgaben der Skriptkomponente hinzufügen und ändern, aber Sie können keinen Code erstellen. Nachdem Sie alle Eingaben und Ausgaben konfiguriert haben, wechseln Sie zum Codeentwurfsmodus, um das Skript zu erstellen. Die Skriptkomponente generiert von den Metadaten der Eingaben und Ausgaben automatisch Basiscode. Wenn Sie die Metadaten ändern, nachdem die Skriptkomponente den Basiscode generiert hat, kann es sein, dass der Code nicht mehr kompiliert wird, weil der aktualisierte Basiscode mit Ihrem Code inkompatibel ist.

Erstellen des von der Komponente verwendeten Skripts

Die Skriptkomponente verwendet Microsoft Visual Studio-Tools für Anwendungen (VSTA) als Umgebung zum Erstellen der Skripts. Sie greifen auf VSTA im Transformations-Editor für Skripterstellung zu. Weitere Informationen finden Sie unter Transformations-Editor für Skripterstellung (Seite Skript).

Die Skriptkomponente stellt ein VSTA-Projekt bereit, das eine automatisch generierte Klasse namens ScriptMain generiert, die die Komponentenmetadaten darstellt. Wenn z. B. die Skriptkomponente als Transformation mit drei Ausgaben verwendet wird, enthält ScriptMain eine Methode für jede Ausgabe. ScriptMain ist der Einstiegspunkt in das Skript.

VSTA enthält alle Standardfunktionen der Visual Studio-Umgebung, z. B. den Visual Studio-Editor mit Farbcodierung, IntelliSense und den Objektkatalog. Das von der Skriptkomponente verwendete Skript wird in der Paketdefinition gespeichert. Wenn Sie das Paket entwerfen, wird der Skriptcode vorübergehend in eine Projektdatei geschrieben.

VSTA unterstützt die Programmiersprachen Microsoft Visual Basic 2008 und Microsoft Visual C# 2008.

Informationen zum Programmieren der Skriptkomponente finden Sie unter Erweitern des Datenflusses mit der Skriptkomponente. Detailliertere Informationen zum Konfigurieren der Skriptkomponente als Quelle, Transformation oder Ziel finden Sie unter Entwickeln bestimmter Arten von Skriptkomponenten. Zusätzliche Beispiele, welche die Verwendung der Skriptkomponente veranschaulichen (wie z. B. ODBC-Ziele), finden Sie unter Zusätzliche Skriptkomponentenbeispiele.

HinweisHinweis

Anders als in früheren Versionen, in denen Sie angeben konnten, ob die Skripts vorkompiliert werden sollten, werden in SQL Server 2008 Integration Services (SSIS) alle Skripts vorkompiliert. Wenn ein Skript vorkompiliert ist, wird das Sprachmodul zur Laufzeit nicht geladen, und das Paket wird schneller ausgeführt. Kompilierte binäre Dateien belegen jedoch erheblich mehr Speicherplatz.

Konfigurieren der Skriptkomponente

Es gibt folgende Möglichkeiten, um die Skriptkomponente zu konfigurieren:

  • Wählen Sie die Eingabespalten aus, auf die verwiesen werden kann.

    HinweisHinweis

    Sie können nur einen Eingang konfigurieren, wenn Sie den SSIS-Designer verwenden.

  • Stellen Sie das Skript bereit, das von der Komponente ausgeführt wird.

  • Geben Sie die Skriptsprache an.

  • Stellen Sie durch Trennzeichen getrennte Listen mit schreibgeschützten Variablen und Lese-/Schreibvariablen bereit.

  • Fügen Sie mehr Ausgaben hinzu, und fügen Sie Ausgabespalten hinzu, denen das Skript Werte zuweist.

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

Konfigurieren der Skriptkomponente im Designer

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Transformations-Editor für Skripterstellung festlegen können:

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

Programmgesteuertes Konfigurieren der Skriptkomponente im Designer

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Fenster Eigenschaften oder programmgesteuert festlegen können:

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zum Festlegen von Eigenschaften zu erhalten:

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.