Kodowanie i debugowanie składnika skryptów

W SSIS Projektant składnika skryptów ma dwa tryby: Tryb projektowania metadane i kodu tryb projektowania.Po otwarciu Script Editor transformacji, składnik przejdzie w tryb projektowania metadane, skonfigurować metadane i zestaw właściwości składnika.Po zestaw właściwości składnika skryptów i skonfigurowano dane wejściowe i w trybie projektowania metadane można przełączyć do trybu projektowania kodu zapisać niestandardowy skrypt.Aby uzyskać więcej informacji dotyczących trybu projektowania metadane i tryb projektowania kodu, zobacz Konfigurowanie składnik skryptów w programie Script Editor składnika.

Pisanie skryptu w trybie projektowania kodu

Środowisko projektowania składnika skryptów

To write your script, click Edit Script on the Script page of the Script Transformation Editor to open the Microsoft Visual Studio Tools for Applications (VSTA) IDE.VSTA IDE obejmuje wszystkie standardowe funkcje Visual Studio .NET środowiska, takie jak kodowane kolorami Visual Studio edytora, IntelliSense, a obiekt przeglądarki.

Script code is written in Microsoft Visual Basic 2008 or Microsoft Visual C# 2008.Określanie języka skryptów przez ustawienie ScriptLanguage właściwość w Script Editor transformacji.Jeśli wolisz używać innego języka programowania można rozwijać w Twoim języku wybór niestandardowego wirtualny plik dziennika i wywołanie jego funkcji z kodu w składnik skryptów.

Skrypt utworzony składnik skryptów jest przechowywana w definicji pakiet.Nie ma pliku skryptu oddzielne.Dlatego używanie składnika skryptów nie wpływa na pakiet wdrażania.

Ostrzeżenie

Podczas projektowania pakiet kod skryptu jest tymczasowo zapisane w pliku projektu.Ponieważ przechowywania informacji poufnych w pliku potencjalne zagrożenie bezpieczeństwa, zaleca się, aby w kodzie skryptu nie należy umieszczać poufne informacje, takie jak hasła.

Domyślnie Option Strict jest wyłączona w IDE.

Struktura projektu składnika skryptów

Moc składnik skryptów jest, że można wygenerować kodu infrastruktury, który redukuje ilość kodu, który trzeba napisać.Funkcja ta opiera się na fakt, że wejść i wyjść i kolumny i właściwości są stałe i znane z wyprzedzeniem.Dlatego wszelkie kolejne zmiany do metadane składnika mogą unieważnić kodu, które zostały zapisane.Podczas wykonywania pakiet powoduje błędy kompilacji.

Elementy projektu i klas w projekcie składnika skryptów

Podczas przełączania do trybu projektowania kodu VSTA IDE otwiera i wyświetla ScriptMain element projektu.ScriptMain Element projektu zawiera edytowalne ScriptMain klasy, który służy jako punkt wejścia dla skryptu i gdzie w można napisać kod.Elementy kodu w klasie zależą od wybranego zadania skryptu języka programowania.

Projekt skrypt zawiera dwa elementy dodatkowe generowany automatycznie tylko do odczytu projektu:

  • ComponentWrapper Element projektu zawiera trzy klasy:

    • UserComponent Klasy, która dziedziczy z ScriptComponent i zawiera metody oraz właściwości, które będą używane do przetwarzania danych i interakcję z pakiet.ScriptMain Klasa dziedziczy z UserComponent klasy

    • A Connections Klasa kolekcja, która zawiera odwołania do połączeń zaznaczonych strona Menedżera połączeń edytora skryptów transformacji.

    • A Variables klasy kolekcja, która zawiera odwołania do zmiennych w ReadOnlyVariable i ReadWriteVariables Właściwości na skryptu strona Script Editor transformacji.

  • BufferWrapper Element projektu zawiera klasy, która dziedziczy z ScriptBuffer dla każdego wejścia i wyjścia skonfigurowane na wejść i wyjść strona Script Editor transformacji.Każda z tych klas zawiera wpisane metoda dostępu właściwości, które odpowiadają skonfigurowanym wprowadzania i kolumn wyjściowych i przepływ danych buforów, które zawierają kolumny.

Aby uzyskać informacje dotyczące sposobu korzystania z tych obiektów, metod i właściwości, zobacz Opis Script Component Object Model.Aby uzyskać informacje dotyczące korzystania z metody i właściwości tych klas w określonego typu składnik skryptów, zobacz sekcję Dodatkowe przykłady składników skryptów.Przykład tematy zawierają również przykłady kodu zakończone.

Podczas konfigurowania składnika skryptów jako transformacja, ScriptMain element projektu zawiera automatycznie wygenerowany następujący kod:

' Microsoft SQL Server Integration Services Script Component
' Write scripts using Microsoft Visual Basic 2008.
' ScriptMain is the entry point class of the script.

Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent

    Public Overrides Sub PreExecute()
        MyBase.PreExecute()
        '
        ' Add your code here for preprocessing or remove if not needed
        '
    End Sub

    Public Overrides Sub PostExecute()
        MyBase.PostExecute()
        '
        ' Add your code here for postprocessing or remove if not needed
        ' You can set read/write variables here, for example:
        ' Me.Variables.MyIntVar = 100
        '
    End Sub

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
        '
        ' Add your code here
        '
    End Sub

End Class
/* Microsoft SQL Server Integration Services user script component
*  Write scripts using Microsoft Visual C# 2008.
*  ScriptMain is the entry point class of the script.*/

using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;

[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{

    public override void PreExecute()
    {
        base.PreExecute();
        /*
          Add your code here for preprocessing or remove if not needed
        */
    }

    public override void PostExecute()
    {
        base.PostExecute();
        /*
          Add your code here for postprocessing or remove if not needed
          You can set read/write variables here, for example:
          Variables.MyIntVar = 100
        */
    }

    public override void Input0_ProcessInputRow(Input0Buffer Row)
    {
        /*
          Add your code here
        */
    }

}

Dodatkowe elementy projektu w projekcie składnika skryptów

Projekt składnika skryptów mogą zawierać elementy inne niż domyślne ScriptMain element.Klasy, moduły, kod pliki i foldery można dodać do projektu i foldery można używać do organizowania grup elementów.

Wszystkie elementy dodane są zachowywane wewnątrz pakiet.

Odwołania w projekcie składnika skryptów

Można dodać odwołania do zestawów zarządzanych klikając prawym przyciskiem myszy projekt zadania skryptu w Eksplorator projektu, a następnie klikając polecenie Dodaj odwołanie.Aby uzyskać więcej informacji, zobacz Odwoływanie się do innych zespołów w roztworach skryptów.

Ostrzeżenie

Umożliwia wyświetlanie odwołań do projektu w IDE VSTA w Widok klasy lub Eksplorator projektu.Otwórz jeden z tych okien z widoku menu.Można dodać nowe odwołanie z projektu menu z Eksplorator projektu, lub z Widok klasy.

Interakcja z pakietu składnika skryptów

Niestandardowy skrypt, napisany w składnik skryptów można uzyskać dostęp i używać zmiennych i menedżerowie połączenia z zawierającego pakiet za pośrednictwem jednoznacznie określony akcesor automatycznie generowanej klasy podstawowej.Jednak przed wprowadzeniem tryb projektowania kodu, jeśli chcesz udostępnić skrypt należy skonfigurować zmiennych i menedżerowie połączenia.Można również podnieść zdarzenia i wykonywać rejestrowania z części kodu skryptu.

Wygenerowany automatycznie elementy projektu w projekcie składnika skryptów przewidują następujących obiektów, metod i właściwości interakcji z pakiet.

Pakiet funkcji

Metoda dostępu

Zmienne

Użyj właściwości akcesora o nazwie i wpisane w Variables kolekcja klasy w ComponentWrapper element projektu, dostępne za pośrednictwem Variables Właściwość ScriptMain klasy

PreExecute metoda można uzyskać dostęp tylko tylko do odczytu zmiennych.PostExecute metoda dostępu zarówno w trybie tylko do odczytu i odczytu i zapisu zmiennych.

Połączenia

Użyj właściwości akcesora o nazwie i wpisane w Connections kolekcja klasy w ComponentWrapper element projektu, dostępne za pośrednictwem Connections Właściwość ScriptMain klasy

Zdarzenia

Wywołania zdarzeń za pomocą ComponentMetaData Właściwość ScriptMain klasy oraz Fire<X> metody IDTSComponentMetaData100 interfejs.

Rejestrowanie

Wykonać logowanie za pomocą Log metoda ScriptMain klasy

Składnik skryptów debugowania

Składnik skryptów nie obsługuje przerwania.Nie można więc kroków kodu i sprawdzają wartości uruchamia pakiet.Wykonanie składnik skryptów można monitorować przy użyciu następujących metod:

  • Przerwać wykonanie oraz wyświetlanie komunikatów modalnych przy użyciu MessageBox.Show metoda w System.Windows.Forms obszaru nazw.(Usunąć ten kod, po ukończeniu procesu debugowania).

  • Podnieść zdarzenia błędów, ostrzeżeń i komunikatów informacyjnych.FireInformation, FireWarning, I FireError metody wyświetlania opisu zdarzenie w programie Visual Studio produkcji okna.Jednak FireProgress metoda, Console.Write metoda i Console.WriteLine metoda nie wyświetlaj żadnych informacji w Wyjście okna.Wiadomości od FireProgress zdarzenie pojawiają się na postępu karcie SSIS projektanta.Aby uzyskać więcej informacji, zobacz Podnoszenie zdarzeń w składnik skryptów.

  • Dziennik zdarzeń lub zdefiniowane przez użytkownika wiadomości do dostawców włączone rejestrowanie.Aby uzyskać więcej informacji, zobacz Składnik skryptów logowania.

Jeśli chcesz, aby zbadać wyjściowe składnika skryptów skonfigurowany jako źródło lub transformacja, bez zapisywania danych do obiekt docelowy, można zatrzymać przepływ danych z Przekształcenie liczba wierszy i Dołącz przeglądarka danych produkcji części skryptu.Informacje przeglądarki danych, zobacz Debugowanie przepływu danych.

W tej sekcji

Aby uzyskać więcej informacji o kodowaniu składnik skryptów zobacz następujące tematy w tej sekcji.

Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.