Jak Użyj docelowego zestawu rekordów
obiekt docelowy zestaw rekordów nie zapisuje danych do zewnętrznego źródło danych.Zamiast tego zestawu rekordów obiekt docelowy zapisuje dane w pamięci w zestawie rekordów, który jest przechowywany w Integration Services pakiet zmiennej Object typu danych.Po obiekt docelowy zestaw rekordów zapisuje dane, zwykle służy kontener Foreach pętli z modułu wyliczającego Foreach ADO do przetwarzania jeden wiersz zestawu rekordów na czas.Moduł wyliczający Foreach ADO zapisuje wartość z każdej kolumna bieżącego wiersza do zmiennej oddzielny pakiet.Następnie zadania, które Konfigurowanie wewnątrz kontener pętli Foreach odczytać wartości tych zmiennych i wykonać akcja, niektóre z nich.
Można użyć obiekt docelowy zestaw rekordów w wielu różnych scenariuszach.Oto kilka przykładów:
Można użyć zadania Wyślij pocztę i Integration Services języka wyrażenie do wysyłania wiadomości e-mail dostosowane dla każdego wiersza w zestawie rekordów.
Składnik skryptów skonfigurowany jako źródło wewnątrz zadania przepływ danych umożliwia odczytanie wartości kolumna do kolumna przepływ danych.Następnie można użyć przekształcenia i miejsc docelowych przekształcenia i zapisać wiersz.W tym przykładzie przepływ danych zadanie jest uruchamiane raz dla każdego wiersza.
Następujące sekcje opisują najpierw ogólny proces przy użyciu docelowego zestawu rekordów, a następnie wyświetlać konkretnym przykładzie użycia obiekt docelowy.
Ogólne kroki, aby przy użyciu docelowego zestawu rekordów
Poniższa procedura zawiera podsumowanie kroków wymaganych do zapisania danych do zestawu rekordów obiekt docelowy, a następnie za pomocą kontener Foreach pętli przetwarza każdy wiersz.
Aby zapisać dane w zestawie rekordów obiekt docelowy i przetwarzania każdego wiersza przy użyciu kontener Foreach pętli
W Business Intelligence Development Studio, Utwórz lub Otwórz Integration Services pakiet.
Tworzenie zmiennej, która będzie zawierać zestaw rekordów zapisanych w pamięci przez obiekt docelowy zestaw rekordów i Ustaw typ zmiennej Object.
Utwórz dodatkowe zmienne odpowiednich typów zawierają wartości każdej kolumna zestawu rekordów, który chcesz użyć.
Dodawanie i Konfigurowanie menedżer połączeń, wymagane przez źródło danych, który ma być używany w przepływ danych.
Dodać zadanie przepływu danych do pakiet, a następnie na karcie przepływu danych SSIS Projektant konfigurowania źródeł i przekształceń do ładowania i przekształcać dane.
Dodawanie obiekt docelowy zestawu rekordów do przepływ danych i podłącz go do przekształceń.Dla VariableName Właściwość obiekt docelowy zestaw rekordów wprowadź nazwę zmiennej, utworzony w celu przechowywania rekordów.
Na karcie przepływ sterowania SSIS Projektant, dodać kontener Foreach pętli i podłącz tego kontenera po zadań przepływu danych.Następnie należy otworzyć Edytor pętli Foreach skonfigurować kontener z następującymi ustawieniami:
Na kolekcji strona, zaznacz moduł wyliczający Foreach ADO.Następnie dla zmienną źródło obiektu ADO, wybierz zmienną, która zawiera zestaw rekordów.
Na Mapowań zmiennej strona, mapować indeksu każdej kolumna , którego chcesz użyć zmiennej właściwe.
W każdej iteracji pętli modułu wyliczającego wypełnienie tych zmiennych wartościami kolumna z bieżącego wiersza.
Wewnątrz kontener Foreach pętli, Dodaj i skonfiguruj zadań przetwarzać jeden wiersz zestawu rekordów na czas przez odczytu wartości zmiennych.
Przykład użycia docelowego zestawu rekordów
W poniższym przykładzie zadanie przepływu danych ładuje informacje o AdventureWorks2008R2 pracowników z Sales.SalesPerson tabela do zestawu rekordów obiekt docelowy.Następnie kontener pętli Foreach odczytuje jednego wiersza danych w czasi wyślij zadanie wywołuje. Wyślij zadanie używa wyrażenia do wysyłania wiadomości e-mail dostosowane do każdego sprzedawcy o kwotę premii lub jej.
Aby utworzyć projekt i skonfigurować zmiennych
W BI Development Studio, Utwórz nowy Integration Services projektu.
Na SSIS menu wybierz zmiennych.
W zmiennych okna, tworzenie zmiennych, które będzie zawierać zestaw rekordów i wartości kolumna z bieżącego wiersza:
Utwórz zmienną o nazwie BonusRecordzestaw, i zestaw jego typ, aby Object.
BonusRecordset zmienna posiada zestaw rekordów.
Utwórz zmienną o nazwie AdresEmail, i zestaw jego typ, aby String.
AdresEmail zmiennej przechowuje adres e-mail sprzedawcy.
Utwórz zmienną o nazwie Imię, i zestaw jego typ, aby String.
Imię zmienna zawiera nazwisko sprzedawcy.
Utwórz zmienną o nazwie podwyższenia, i zestaw jego typ, aby Double.
Podwyższenia zmienna posiada kwota podwyższenia sprzedawcy.
Aby skonfigurować menedżerowie połączenia
W obszarze menedżerów połączenia SSIS Projektant, dodanie i skonfigurowanie nowego menedżer połączeń OLE DB, który łączy się z AdventureWorks2008R2 przykładowej bazy danych.
Źródło OLE DB w zadanie przepływu danych użyje tego menedżer połączeń do pobierania danych.
W obszarze połączenie menedżerów dodanie i skonfigurowanie nowego menedżer połączeń SMTP, który łączy się z dostępnego serwera SMTP.
Wyślij zadanie wewnątrz kontener pętli Foreach użyje tego menedżer połączeń do wysyłania wiadomości e-mail.
Aby skonfigurować przepływ danych i docelowy zestaw rekordów
Na Przepływ sterowania karcie SSIS Projektant dodać zadanie przepływu danych do powierzchni projektu.
Na Przepływ danych kartę, Dodaj źródło danych OLE DB do zadania przepływu danych, a następnie otwórz edytora źródłem OLE DB.
Na Menedżera połączeń strona edytora, należy skonfigurować źródło z następującymi ustawieniami:
Dla menedżer połączeń OLE DB, wybierz menedżer połączeń OLE DB, który poprzednio utworzone.
Dla tryb dostępu do danych, wybierz opcję polecenia SQL.
Dla tekst polecenia SQL, wpisz następującą kwerendę:
SELECT Sales.vSalesPerson.EmailAddress, Sales.vSalesPerson.FirstName, CONVERT(float, Sales.SalesPerson.Bonus) AS Bonus FROM Sales.SalesPerson INNER JOIN Sales.vSalesPerson ON Sales.SalesPerson.BusinessEntityID = Sales.vSalesPerson.BusinessEntityID;Ostrzeżenie
Trzeba przekonwertować currency wartość w Bonus kolumna do float przed załadowaniem tę wartość do zmiennej pakiet, którego typ jest Double.
Na Przepływ danych kartę, dodać obiekt docelowy zestaw rekordów i połączenia obiekt docelowy po źródło OLE DB.
Otwórz Edytor obiekt docelowy zestaw rekordówi skonfigurować docelowego z następującymi ustawieniami:
Na właściwość składnika karcie dla VariableName właściwość wybierz User::BonusRecordset.
Na Kolumny wprowadzania , następnie wybierz wszystkie trzy kolumny dostępne.
Aby skonfigurować kontener Foreach pętli i uruchomić pakiet
Na Przepływ sterowania karcie SSIS Projektant, dodać kontener Foreach pętli i połącz kontenera po zadań przepływu danych.
Otwórz Edytor pętli Foreachi skonfigurować kontener z następującymi ustawieniami:
Na kolekcji strona, dla modułu wyliczającego, zaznacz Modułu wyliczającego ADO Foreachi zmienną źródło obiektu ADO, zaznacz User::BonusRecordset.
Na Mapowań zmiennej strona, mapować User::EmailAddress do indeksu 0, User::FirstName do indeksu 1, i User::Bonus do indeksu 2.
Na Przepływ sterowania kartę wewnątrz kontener pętli Foreach dodać zadanie wysyłanie poczty.
Otwórz Wysyłanie poczty zadanie edytora, a następnie na korespondencji strona, skonfigurować zadanie z następującymi ustawieniami:
Dla SmtpConnection, wybierz menedżer połączeń SMTP, który został uprzednio skonfigurowany.
Dla z, wprowadź odpowiedni adres e-mail.
Jeśli używasz adresu e-mail, można potwierdzić, że pakiet zostanie wykonane pomyślnie.Otrzymasz niemożliwy do dostarczenia przychodów dla wiadomości wysyłanych przez zadanie Wyślij pocztę do fikcyjnego sprzedawców z AdventureWorks2008R2.
Dla do, wprowadź domyślny adres e-mail.
Wartość ta nie będzie używany, ale zostanie zastąpiona przy uruchomieniu czas adres e-mail każdego sprzedawcy.
Dla przedmiotem, wprowadź "Premia rocznych".
Dla MessageSourceType, wybierz opcję Wprowadzania bezpośredniego.
Na wyrażeń strona Wysłać poczty zadanie edytora, kliknij przycisk wielokropka (...), aby otworzyć Edytor wyrażeń właściwości.
W Edytor wyrażeń właściwości, wprowadź następujące informacje:
Dla ToLine, Dodaj następujące wyrażenie:
@[User::EmailAddress]Dla MessageSource właściwość, Dodaj następujące wyrażenie:
"Dear " + @[User::FirstName] + ": The amount of your bonus for this year is $" + (DT_WSTR, 12) @[User::Bonus] + ". Thank you!"
Uruchom pakiet.
Jeśli określono prawidłowy serwer SMTP i podać adres e-mail zostanie wyświetlony niemożliwy do dostarczenia przychodów dla wiadomości, które wysyła zadania Wyślij pocztę do fikcyjne sprzedawców z AdventureWorks2008R2.