Configuring the Script Component in the Script Component Editor
Przed pisania kodu niestandardowego w składniku skryptów, należy wybrać typ składnika przepływ danych, którą chcesz utworzyć — urządzenie źródłowe, transformacja lub obiekt docelowy — a następnie skonfiguruj metadane i właściwości składnika Skrypt transformacja edytora.
Typ składnika, aby utworzyć zaznaczenie
Po dodaniu składnika skryptów do okienka przepływ danych SSIS Projektant, Wybierz typ składnika skryptów zostanie wyświetlone okno dialogowe. Można wstępnie skonfigurować składnik, jak urządzenie źródłowe, transformacja lub docelowym.Po dokonaniu tej początkowe, można kontynuować konfigurowania składnika w Skrypt transformacja edytora.
Aby ustawić domyślny język wykonywanie wykonywanie skryptów dla składnika wykonywanie wykonywanie skryptów, należy użyć Język wykonywanie wykonywanie skryptów Opcja Ogólne stronaOpcje -okno dialogowe.Aby uzyskać więcej informacji zobaczStrona ogólnych.
Opis dwóch trybów czas projektowania
W SSIS Projektanta, składnik skryptów dwóch trybach: Tryb projektowania metadane i tryb projektowania kodu.
Po otwarciu Skrypt transformacja edytora, składnik przechodzi do trybu projektowania metadane.W tym trybie można zaznaczyć wejściowy kolumn i dodać lub skonfigurować wyjść i kolumny wyjściowe, ale nie można zapisać kod.Po skonfigurowaniu składnika metadane, można przełączyć do trybu projektowania kod, aby napisać skrypt.
Przełącz do trybu projektowania kodu przez kliknięcie przycisku Edytowanie skryptu, składnik skryptów blokuje metadane w celu zapobieżenia dodatkowe zmiany, a następnie automatycznie generuje kod podstawowej z metadanych z wejść i wyjść.Po zakończeniu wygenerowany automatycznie kod można wprowadzić niestandardowego kodu.Kod automatycznie generowanej klasy podstawowe są używane do procesu wprowadzania wierszy do buforów dostępu i kolumny w bufory i pobrać zmiennych i menedżerowie połączenia z pakiet, wszystkie jako obiekty zdecydowanie wpisane.
Po wprowadzeniu kodu niestandardowego w trybie projektowania kodu, można przełączyć do trybu projektowania metadane.Nie powoduje to usunięcia dowolnego kodu, które zostały wprowadzone, jednak późniejsze zmiany metadane spowodować klasy podstawowej do być generowany ponownie.Później składnik może nie sprawdzania poprawności, ponieważ obiektów zawiera odwołanie do kodu niestandardowego może już nie istnieć lub mógł zostać zmodyfikowany.W takim przypadek musisz naprawić kodu ręcznie, dzięki czemu mogą być tworzone w pomyślnie przed folii klasy podstawowej.
Konfigurowanie składnika w trybie projektowania metadane
W trybie projektowania metadane można wybrać wejściowy kolumn i dodać i skonfigurować wyjść i kolumny wyjściowe, ale nie można zapisać kod.Po skonfigurowaniu metadane składnika przełączyć do trybu projektowania kod, aby napisać skrypt.
Właściwości, które należy skonfigurować w edytorze niestandardowych zależy od obciążenia składnika skryptów.Składnik skryptów może być skonfigurowana jako urządzenie źródłowe, transformacja lub obiekt obiekt docelowy.W zależności od tego, jak składnik jest używany obsługuje dane wejściowe lub wyjściowe lub oba.Niestandardowy kod, który będzie można zapisywać przetwarza wejściowe i wyjściowe wierszy i kolumn.
Dane wejściowe kolumny strona z transformacja
The Input Columns strona of the Script transformacja Editor is displayed for transformations and destinations, but not for sources.W tym strona, zaznacz dostępnych kolumn wprowadzania, który chcesz udostępnić do skryptu niestandardowego i określ tylko do odczytu lub zapisu i odczytu dostęp do nich.
W projekcie kod, który zostanie wygenerowany, oparte na metadane element projektu BufferWrapper zawiera klasę dla wszystkich danych wejściowych i tej klasy zawiera właściwości wpisywanych akcesora dla każdej kolumna danych wejściowych zaznaczone.Na przykład w przypadku wybrania liczby całkowitej Identyfikator klienta kolumna i ciąg CustomerName kolumna dane wejściowe o nazwie CustomerInput, BufferWrapper element projektu będzie zawierać CustomerInput Klasa, która wynika z ScriptBuffer, a także CustomerInput Klasa będzie wystawiać całkowitą właściwość o nazwie Identyfikator klienta i właściwość ciąg o nazwie CustomerName.Ta Konwencja umożliwia wpisywanie kodu przy użyciu funkcji sprawdzania typu jak następuje:
Dim currentCustomerID as Integer = CustomerInput.CustomerID
Dim currentCustomerName as String = CustomerInput.CustomerName
Aby uzyskać więcej informacji na temat sposobu konfigurowania kolumn danych wejściowych dla określonego typu składnik przepływ danych, zobacz odpowiednie przykład w obszarze Rozwijanie określonych typów składniki skryptów.
Wejść i wyjść strona z transformacja
The Input and Outputs strona of the Script transformacja Editor is displayed for sources, transformations, and destinations.Na tej stronie można dodać, usuwanie i konfigurowanie wejść, wyjść i kolumny wyjściowe, które chcesz użyć w skrypcie niestandardowe, w ramach następujące ograniczenia:
Jeśli używany jako urządzenie źródłowe, składnika skryptów nie Brak danych wejściowych i obsługuje wiele wyjść.
Używany jako transformacja, składnik skryptów obsługuje dane wejściowe jednego i wiele wyjść.
W przypadku jako obiekt obiekt docelowy, składnik skryptów obsługuje jedno wejście i wyjście nie ma.
W projekcie kod, który zostanie wygenerowany, oparte na metadane element projektu BufferWrapper zawiera klasę dla każdego wejściowych i wyjściowych.Na przykład, jeśli utworzysz wyjściowy o nazwie CustomerOutput, BufferWrapper element projektu będzie zawierać CustomerOutput Klasa, która wynika z ScriptBuffer, a także CustomerOutput Klasa będzie zawierać wpisywanych metoda dostępu właściwości dla każdej kolumna wyjściowe utworzone.
Kolumny wyjściowe można skonfigurować tylko na Wejścia i wyjścia strona.Wybrane kolumny danych wejściowych dla przekształcenia i miejsc docelowych na Kolumny danych wejściowych strona.Właściwości wpisywanych metoda dostępu utworzone w elemencie projektu BufferWrapper będzie tylko do zapisu dla kolumn wyjściowych.metoda dostępu właściwości kolumn danych wejściowych będą tylko do odczytu lub zapisu/odczytu w zależności od typu zużycia wybranych dla każdej kolumna na kolumna danych wejściowych strona.
Aby uzyskać więcej informacji na temat konfigurowania danych wejściowych i wyjściowych dla określonego typu składnika przepływ danych zobacz odpowiedni przykład, w obszarze Rozwijanie określonych typów składniki skryptów.
Uwaga
Mimo że wyjścia bezpośrednio nie można skonfigurować jako wyjściowy błędu w składniku skryptów dla automatycznej obsługi wierszy błędów, można odtworzyć funkcji błąd wyjściowych tworząc dodatkowe dane wyjściowe i za pomocą skryptu na wiersze bezpośrednio do tego raportu, gdy jest to konieczne.Aby uzyskać więcej informacji zobaczSymulowanie Error wyjścia dla składnika skryptów.
ExclusionGroup i właściwości SynchronousInputID wyjścia
The ExclusionGroup właściwość has a non-zero value only in transformations with synchronous outputs, where your code performs filtering or branching and directs each row to one of the outputs that share the same non-zero ExclusionGroup value. Na przykład transformacja może kierować wiersze domyślne dane wyjściowe lub dane wyjściowe błąd.Tworząc dodatkowe dane wyjściowe w tym scenariuszu, upewnij się, że zestaw wartość SynchronousInputID Właściwość do liczby całkowitej, która odpowiada ID składnika danych wejściowych.
The SynchronousInputID właściwość has a non-zero value only in transformations with synchronous outputs. Jeśli wartość tej właściwość wynosi zero, oznacza to, że wynik jest asynchroniczne.Synchroniczne danych wyjściowych, gdy wiersze są przekazywane za pośrednictwem do wybranego wyjściowego lub wydajności bez dodawania żadnych nowych wierszy, ta właściwość powinna zawierać ID składnika danych wejściowych.
Uwaga
Gdy Skrypt transformacja edytora tworzy dane wyjściowe w pierwszym, Edytor ustawia SynchronousInputID Właściwość dane wyjściowe do ID składnika danych wejściowych. Jednak gdy Edytor tworzy kolejnych wyjść, Edytor ustawia SynchronousInputID Właściwości te dane wyjściowe na zero.
Podczas tworzenia składnika z synchronicznej wyjść, każdego wyjściowy musi mieć jego SynchronousInputID Właściwość zestaw do ID składnika danych wejściowych. Dlatego każdy wyjściowy edytora utworzoną po pierwszym dane wyjściowe muszą mieć jego SynchronousInputID zmieniona wartość od 0 do ID składnika danych wejściowych.
Podczas tworzenia składnika z wyjść asynchronicznych, każdy dane wyjściowe muszą mieć jego SynchronousInputID Właściwość zestaw na zero. Wyjście pierwszego musi więc jej SynchronousInputID zmiany wartości z ID składnika danych wejściowych na zero.
Przykład kierowanie wiersze na jedną z dwóch synchroniczne wyjść w składniku skryptów można znaleźć w temacie Tworzenie synchroniczne transformacja składnika skryptów.
Nazwy obiektów w wygenerowanego skryptów
Skrypt składnika analizuje nazwy wejść i wyjść i analizowania nazw kolumn w danych wejściowych i wyjściowych i na podstawie tych nazw generuje klasy i właściwości w BufferWrapper element projektu.Jeśli znalezione nazwy zawierają znaki, które nie należą do kategorii Unicode UppercaseLetter, LowercaseLetter, TitlecaseLetter, ModifierLetter, OtherLetter, lub DecimalDigitLetter, nieprawidłowe znaki są usuwane w generowanej nazwy. Na przykład spacji są usuwane, w związku z tym wprowadzanie dwie kolumna, które mają nazwy Imię andImięinterpretowane jest jako posiadający nazwę kolumna Imię, z nieprzewidywalne rezultaty.Aby tego uniknąć, nazwy wejść i wyjść i wejściowe i wyjściowe kolumny używane przez składnik skryptów powinny zawierać tylko znaki należące do kategorii Unicode, wymienionych w tej sekcji.
Skrypt strona z transformacja
Na Skrypt stronaEdytor zadań skryptu, można przypisać unikatową nazwę i opis dla zadania skryptu.Można także przypisać wartości dla następujących właściwości.
Uwaga
W SQL Server 2008 Integration Services (SSIS), wszystkie skrypty są wstępnie skompilowana. W poprzednich wersjach określono czy skrypty zostały wstępnie skompilowana przez ustawienie Precompile Właściwość zadania.
Właściwość ValidateExternalMetadata
logiczny ValidateExternalMetadata Właściwość określa, czy składnik powinien sprawdzenia poprawności przed zewnętrznymi źródłami danych w czasie projektowania lub czy należy odłożyć sprawdzania poprawności do czas wykonywania. Domyślnie wartość tej właściwość jest True; to znaczy, zewnętrznych metadane sprawdzają poprawność zarówno w projekcie czas i przy uruchomieniu czas. Możesz ustawić wartość tej właściwość False Jeśli zewnętrznym źródłem danych nie jest dostępny na projekt czas: na przykład, gdy pakiet pobiera urządzenie źródłowe lub tworzy obiekt docelowy tylko w czasie wykonywania.
Właściwości ReadWriteVariables i ReadOnlyVariables
Rozdzielane przecinkami listę istniejących zmiennych można wprowadzić wartości tych właściwości, aby udostępnić zmienne tylko do odczytu lub zapisu i odczytu dostępu w ramach składnika kod skryptu.Zmienne są dostępne w kodzie za pomocą ReadOnlyVariables() i ReadWriteVariables() Właściwości klasy podstawowej wygenerowany automatycznie. Aby uzyskać więcej informacji zobaczZa pomocą zmiennych w składniku skryptów.
Uwaga
Nazwy zmiennych uwzględniana jest wielkość liter.
ScriptLanguage
You can select either Microsoft Visual Basic 2008 or Microsoft Visual C# 2008 as the programming language for the Script component.
Edytowanie skryptu przycisku
The Edit Script button opens the Microsoft Visual Studio Tools for Applications (VSTA) IDE in which you write your custom script.Aby uzyskać więcej informacji zobaczKodowanie i debugowanie składnika skryptów.
Połączenie menedżerowie strona z transformacja
Na Menedżer połączeń stronaSkrypt transformacja edytora, dodawania i usuwania menedżerów połączenia, którego chcesz użyć w skrypcie niestandardowe.Zwykle należy odwołać Menedżera połączeń podczas tworzenia źródłowego lub docelowego składnika.
Kod projektu, który zostanie wygenerowany oparte na metadane, ComponentWrapper Element projektu zawiera Connections Klasa kolekcja, która ma właściwość wpisywanych akcesora dla każdego menedżera wybranego połączenia. Każda właściwość wpisywanych metoda dostępu ma taką samą nazwę jak Menedżer połączeń sam i zwraca odwołanie do Menedżera połączeń jako wystąpienie IDTSConnectionManager100. Na przykład, jeśli Menedżer połączeń, o nazwie MyADONETConnection na Menedżer połączeń Strona edytora, można uzyskać odwołania do Menedżera połączeń w skrypcie przy użyciu następującego kodu:
Dim myADONETConnectionManager As IDTSConnectionManager100 = _
Me.Connections.MyADONETConnection
Aby uzyskać więcej informacji zobaczConnecting to Data Sources in the Script Component.
|
See Also