Kodowanie i debugowanie składnika skryptów

W SSIS Projektanta, składnik skryptów dwóch trybach: Tryb projektowania metadane i tryb projektowania kodu. Po otwarciu Skrypt transformacja edytora, składnika przechodzi do trybu projektowania metadanych, w którym można skonfigurować metadane i zestaw właściwości składnika.Po ustawieniu właściwości składnika skryptów i po skonfigurować wejściowe i wyjściowe w trybie projektowania metadane można przełączyć do trybu projektowania kod, aby napisać skrypt niestandardowy.Aby uzyskać więcej informacji o trybie projektowania metadane i w trybie projektowania kodu zobacz Configuring the Script Component in the Script Component Editor.

Pisanie w trybie projektowania kodu skryptu

Skrypt Component Development Environment

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 zawiera wszystkie standardowe funkcje Visual Studio Środowiska .NET, takich jak kodowane kolorami Visual Studio Edytor, IntelliSense, a przeglądarka obiektów.

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ść Skrypt transformacja edytora.Jeśli wolisz korzystać z innego języka programowania, mogą tworzyć niestandardowe wirtualny plik dziennika w Twoim języku wybór i wywołania funkcji z kodu w składniku skryptów.

Skryptu utworzonego przy użyciu składnika skryptów jest przechowywana w definicji pakiet.Brak pliku oddzielne skryptu.Zatem korzystanie ze składnika skryptów nie wpływa na pakiet wdrażania.

Uwaga

Podczas projektowania pakiet kod skryptu jest tymczasowo zapisywane do pliku projektu.Przechowywanie ważnych informacji w pliku jest to potencjalne zagrożenie bezpieczeństwa, zaleca się informacji poufnych, takich jak hasła nie zawierają się w kodzie skryptu.

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

Struktura projektu składników skryptu

Możliwości składnika skryptów jest, że może wygenerować kodu infrastruktury, który ogranicza ilość kodu, który należy zapisywać.Funkcja ta opiera się na fakt, że dane wejściowe i wyjściowe i ich kolumny i właściwości są stałe i wiadomo z góry.Dlatego też późniejsze zmiany wprowadzone do metadane składnika mogą unieważnić kodu, które zostały zapisane.Powoduje to, że błędów kompilacji podczas wykonywania pakiet.

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. The ScriptMain project element contains the editable ScriptMain class, which serves as the entry point for the script and which is where you write your code. Elementy kodu w klasie zależą od wybranego dla zadania skryptu języka programowania.

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

  • The ComponentWrapper project element contains three classes:

    • The UserComponent class, which inherits from ScriptComponent and contains the methods and properties that you will use to process data and to interact with the pakiet. The ScriptMain class inherits from the UserComponent class.

    • A Connections Klasa kolekcja, która zawiera odwołania do połączenia zaznaczonego strona programu Script Editor transformacja menedżer połączeń.

    • A Variables Klasa kolekcja, która zawiera odwołania do zmiennych w ReadOnlyVariable i ReadWriteVariables właściwości na Skrypt stronaSkrypt transformacja edytora.

  • The BufferWrapper project element contains a class that inherits from ScriptBuffer for each input and output configured on the Inputs and Outputs strona of the Script transformacja Editor.Każda z tych klas zawiera wpisywanych metoda dostępu właściwości, które odpowiadają skonfigurowanym dane wejściowe i kolumny wyjściowe i dane buforów przepływu, które zawierają w kolumnach.

Aby uzyskać informacje na temat korzystania z tych obiektów, metod i właściwości Zobacz Opis Component Object Model skryptów. Aby uzyskać informacje dotyczące sposobów korzystania z metody i właściwości tych klas konkretnego typu składnika skryptów zobacz sekcję Dodatkowe przykłady składników skryptów. Przykład tematy zawierają również przykładowy kod pełną.

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

' 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 projektów w projekcie składnika skryptów

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

Wszystkie elementy, które dodawane są utrwalone wewnątrz pakiet.

Odwołania w projekcie składnika skryptów

Można dodać odwołania do zestawów zarządzanych przez kliknięcie prawym przyciskiem myszy projektu zadania skryptu w Eksplorator projektu, a następnie klikając polecenie Dodaj odwołanie.Aby uzyskać więcej informacji zobaczOdwoływanie się do innych zestawów w Solutions wykonywanie wykonywanie skryptów.

Uwaga

Umożliwia wyświetlanie odwołań do projektu w IDE VSTA w Widok klasy or in Eksplorator projektu.Otwórz jeden z tych okien z Widok menu.Można dodawać nowe odwołanie z Projekt z menuEksplorator projektu, or from Widok klasy.

Interakcja z pakiet w składniku skryptów

Skrypt niestandardowy, wpisywane w składniku skryptów można uzyskać dostęp i korzystanie ze zmiennych i menedżerowie połączenia z zawierające pakiet za pośrednictwem Akcesory zdecydowanie wpisane do automatycznego generowania klas podstawowych.Jednak przed wprowadzeniem tryb projektowania kodu, jeśli chcesz udostępnić skrypt należy skonfigurować Menedżera połączeń i zmiennych.Można również wywołania zdarzeń i wykonywanie rejestrowania z kodu składnika skryptów.

Wygenerowany automatycznie elementów projektu w projekcie składnik skryptów dostarcza następujących obiektów, metod i właściwości do interakcji z pakiet.

Funkcja pakiet

Metoda dostępu

Variables

Za pomocą właściwości metoda dostępu nazwanych i wpisane w Variables Klasa kolekcja w ComponentWrapper Element projektu, udostępniane za pośrednictwem Variables Właściwość ScriptMain Klasa.

The PreExecute metoda can access only read-only variables. The PostExecute metoda can access both read-only and read/write variables.

Połączenia

Za pomocą właściwości metoda dostępu nazwanych i wpisane w Connections Klasa kolekcja w ComponentWrapper Element projektu, udostępniane za pośrednictwem Connections Właściwość ScriptMain Klasa.

Zdarzenia

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

Rejestrowanie

Wykonać logowanie przy użyciu Log(String, Int32, array<Byte[]) Metoda ScriptMain Klasa.

Debugowanie składnika skryptów

Składnik skryptów nie obsługuje użycie punktów przerwania.Nie z tego powodu, można wykonywać kodu i zbadać wartości podczas działania tego pakiet.Wykonanie składników skryptów można monitorować przy użyciu następujących metod:

  • Przerywa wykonywanie i wyświetlanie modalnych komunikatów przy użyciu MessageBox.Show Metoda System.Windows.Forms obszar nazw.(Usunąć tego kodu, po ukończeniu procesu debugowania).

  • Wywołania zdarzeń komunikaty informacyjne, ostrzeżeń i błędów.The FireInformation, FireWarning, and FireError methods display the zdarzenie description in the Visual Studio Output window.Jednak FireProgress Metoda, Console.Write Metoda, a Console.WriteLine Metoda nie są wyświetlane dowolne informacje zamieszczone w Dane wyjściowe okna.Wiadomości od FireProgress zdarzenie pojawiają się na Postęp tab of SSIS Projektant. Aby uzyskać więcej informacji zobaczRaising Events in the Script Component.

  • Dziennik zdarzeń lub zdefiniowanej przez użytkownika wiadomości do dostawców włączone rejestrowanie.Aby uzyskać więcej informacji zobaczLogging in the Script Component.

Jeśli chcesz, aby sprawdzić dane wyjściowe skryptu składnika skonfigurowana jako urządzenie źródłowe lub transformacja, bez zapisywania danych do obiekt docelowy, można zatrzymać przepływ danych z transformacja liczba wierszy i Dołącz przeglądarka danych w wyniku składnika skryptów. Aby uzyskać informacje na temat wyświetlania danych zobacz Debugowanie przepływ danych.

W tej sekcji

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

Integration Services icon (small) Konfiguracja w aktualizacji z usług integracja Services pobytu

Najnowsze pliki do pobrania, artykuły, próbki, i pliki wideo firmy Microsoft, jak również wybranego rozwiązania od Wspólnoty, odwiedź witrynę Integration Services strona w witrynie MSDN lub TechNet:

Automatycznego powiadomienie tych aktualizacji należy subskrybować źródła danych RSS, które jest dostępne strona.