Udostępnij przez


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

  1. W Business Intelligence Development Studio, Utwórz lub Otwórz Integration Services pakiet.

  2. 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.

  3. Utwórz dodatkowe zmienne odpowiednich typów zawierają wartości każdej kolumna zestawu rekordów, który chcesz użyć.

  4. Dodawanie i Konfigurowanie menedżer połączeń, wymagane przez źródło danych, który ma być używany w przepływ danych.

  5. 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.

  6. 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.

  7. 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:

    1. 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.

    2. 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.

  8. 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

  1. W BI Development Studio, Utwórz nowy Integration Services projektu.

  2. Na SSIS menu wybierz zmiennych.

  3. W zmiennych okna, tworzenie zmiennych, które będzie zawierać zestaw rekordów i wartości kolumna z bieżącego wiersza:

    1. Utwórz zmienną o nazwie BonusRecordzestaw, i zestaw jego typ, aby Object.

      BonusRecordset zmienna posiada zestaw rekordów.

    2. Utwórz zmienną o nazwie AdresEmail, i zestaw jego typ, aby String.

      AdresEmail zmiennej przechowuje adres e-mail sprzedawcy.

    3. Utwórz zmienną o nazwie Imię, i zestaw jego typ, aby String.

      Imię zmienna zawiera nazwisko sprzedawcy.

    4. 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

  1. 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.

  2. 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

  1. Na Przepływ sterowania karcie SSIS Projektant dodać zadanie przepływu danych do powierzchni projektu.

  2. 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.

  3. Na Menedżera połączeń strona edytora, należy skonfigurować źródło z następującymi ustawieniami:

    1. Dla menedżer połączeń OLE DB, wybierz menedżer połączeń OLE DB, który poprzednio utworzone.

    2. Dla tryb dostępu do danych, wybierz opcję polecenia SQL.

    3. 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.

  4. Na Przepływ danych kartę, dodać obiekt docelowy zestaw rekordów i połączenia obiekt docelowy po źródło OLE DB.

  5. Otwórz Edytor obiekt docelowy zestaw rekordówi skonfigurować docelowego z następującymi ustawieniami:

    1. Na właściwość składnika karcie dla VariableName właściwość wybierz User::BonusRecordset.

    2. Na Kolumny wprowadzania , następnie wybierz wszystkie trzy kolumny dostępne.

Aby skonfigurować kontener Foreach pętli i uruchomić pakiet

  1. Na Przepływ sterowania karcie SSIS Projektant, dodać kontener Foreach pętli i połącz kontenera po zadań przepływu danych.

  2. Otwórz Edytor pętli Foreachi skonfigurować kontener z następującymi ustawieniami:

    1. Na kolekcji strona, dla modułu wyliczającego, zaznacz Modułu wyliczającego ADO Foreachi zmienną źródło obiektu ADO, zaznacz User::BonusRecordset.

    2. Na Mapowań zmiennej strona, mapować User::EmailAddress do indeksu 0, User::FirstName do indeksu 1, i User::Bonus do indeksu 2.

  3. Na Przepływ sterowania kartę wewnątrz kontener pętli Foreach dodać zadanie wysyłanie poczty.

  4. Otwórz Wysyłanie poczty zadanie edytora, a następnie na korespondencji strona, skonfigurować zadanie z następującymi ustawieniami:

    1. Dla SmtpConnection, wybierz menedżer połączeń SMTP, który został uprzednio skonfigurowany.

    2. 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.

    3. 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.

    4. Dla przedmiotem, wprowadź "Premia rocznych".

    5. Dla MessageSourceType, wybierz opcję Wprowadzania bezpośredniego.

  5. Na wyrażeń strona Wysłać poczty zadanie edytora, kliknij przycisk wielokropka (...), aby otworzyć Edytor wyrażeń właściwości.

  6. W Edytor wyrażeń właściwości, wprowadź następujące informacje:

    1. Dla ToLine, Dodaj następujące wyrażenie:

      @[User::EmailAddress]
      
    2. 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!"
      
  7. 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.