Použití cíle sady záznamů
platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory
Úložiště sady záznamů neukládá data do externího zdroje dat. Místo toho cíl sady záznamů ukládá data do paměti v sadě záznamů, která je uložena v proměnné balíčku Integration Services datového typu Object. Jakmile cíl sady záznamů uloží data, obvykle použijete kontejner Foreach Loop s enumerátorem Foreach ADO ke zpracování jednoho řádku sady záznamů najednou. Enumerátor Foreach ADO uloží hodnotu z každého sloupce aktuálního řádku do samostatné proměnné balíčku. Potom úlohy, které nakonfigurujete uvnitř kontejneru smyčky Foreach, načtou tyto hodnoty z proměnných a provede s nimi nějakou akci.
Cíl sady záznamů můžete použít v mnoha různých scénářích. Tady je několik příkladů:
K odeslání přizpůsobené e-mailové zprávy pro každý řádek v sadě záznamů můžete použít úlohu Odeslat poštu a jazyk výrazů integrační služby.
Ke čtení hodnot sloupců do sloupců toku dat můžete použít komponentu skriptu nakonfigurovanou jako zdroj v úloze Tok dat. Potom můžete pomocí transformací a cílů transformovat a uložit řádek. V tomto příkladu se úloha toku dat spustí jednou pro každý řádek.
Následující části nejprve popisují obecný proces použití cíle sady záznamů a pak ukazují konkrétní příklad použití cíle.
Obecné kroky pro použití cíle sady záznamů
Následující postup shrnuje kroky potřebné k uložení dat do cíle sady záznamů a následné zpracování jednotlivých řádků pomocí kontejneru smyčky Foreach.
Uložení dat do cíle sady záznamů a zpracování každého řádku pomocí kontejneru smyčky Foreach
V nástrojích SQL Server Data Tools (SSDT) vytvořte nebo otevřete balíček integrační služby.
Vytvořte proměnnou, která bude obsahovat sadu záznamů uloženou do paměti podle cíle sady záznamů, a nastavte typ proměnné na Objekt.
Vytvořte další proměnné odpovídajících typů, které budou obsahovat hodnoty jednotlivých sloupců v sadě záznamů, které chcete použít.
Přidejte a nakonfigurujte správce připojení vyžadovaný zdrojem dat, který plánujete použít ve svém toku dat.
Přidejte do balíčku úlohu toku dat a na kartě Tok dat v nástroji SSIS Designer nakonfigurujte zdroje a transformace pro načtení a transformaci dat.
Přidejte do toku dat cíl sady záznamů a připojte ho k transformacím. Do vlastnosti VariableName cíle sady záznamů zadejte název proměnné, kterou jste vytvořili pro uložení sady záznamů.
Na kartě Tok řízení v nástroji SSIS Designer přidejte kontejner Foreach Loop a připojte tento kontejner za úlohu Tok dat. Potom otevřete editor smyčky Foreach a nakonfigurujte kontejner s následujícím nastavením:
Na stránce Kolekce vyberte enumerátor Foreach ADO. Potom pro zdrojovou proměnnou objektu ADOvyberte proměnnou, která obsahuje sadu záznamů.
Na stránce Mapování proměnných namapujte index založený na nule každého sloupce, který chcete použít, na příslušnou proměnnou.
Při každé iteraci smyčky enumerátor naplní tyto proměnné hodnotami sloupce z aktuálního řádku.
V kontejneru Foreach Loop přidejte a nakonfigurujte úlohy pro zpracování jednoho řádku sady záznamů najednou čtením hodnot z proměnných.
Příklad použití cíle sady záznamů
V následujícím příkladu úloha Tok dat načte informace o zaměstnancích AdventureWorks2022 z tabulky Sales.SalesPerson do cíle sady záznamů. Kontejner smyčky Foreach pak načte vždy jeden řádek dat a spustí úlohu Odeslat e-mail. Úkol Odeslat poštu používá výrazy k odeslání přizpůsobené e-mailové zprávy každému prodejci o výši svého bonusu.
Vytvoření projektu a konfigurace proměnných
V nástrojích SQL Server Data Tools vytvořte nový projekt Integrační služby.
V nabídce SSIS vyberte Proměnné.
V okně Proměnné vytvořte proměnné, které budou obsahovat sadu záznamů a hodnoty sloupců z aktuálního řádku:
Vytvořte proměnnou s názvem BonusRecordseta nastavte její typ na Objekt.
Proměnná BonusRecordset obsahuje sadu záznamů.
Vytvořte proměnnou s názvem EmailAddressa nastavte její typ na String.
Proměnná EmailAddress obsahuje e-mailovou adresu prodejce.
Vytvořte proměnnou s názvem FirstNamea nastavte její typ na String.
Proměnná FirstName obsahuje křestní jméno prodejce.
Vytvořte proměnnou s názvem Bonusa nastavte její typ na Double.
Proměnná Bonus obsahuje výši bonusu prodejce.
Konfigurace správců připojení
V oblasti Správce připojení v návrháři SSIS přidejte a nakonfigurujte nového správce připojení OLE DB, který se připojuje k ukázkové databázi AdventureWorks2022.
Zdroj OLE DB v úloze Tok dat použije tohoto správce připojení k načtení dat.
V oblasti Správci připojení přidejte a nakonfigurujte nového správce připojení SMTP, který se připojuje k dostupnému serveru SMTP.
Úloha Odeslat poštu v kontejneru smyčky Foreach použije tohoto správce připojení k odesílání e-mailů.
Konfigurace toku dat a cíle sady záznamů
Na kartě Tok řízení návrháře služby SSIS přidejte úlohu toku dat na návrhovou plochu.
Na kartě Tok dat přidejte zdroj OLE DB do úlohy Tok dat a otevřete editoru zdroje OLE DB.
Na stránce Správce připojení editoru nakonfigurujte zdroj s následujícím nastavením:
Pro správce připojení OLE DBvyberte správce připojení OLE DB, který jste vytvořili dříve.
Pro režim přístupu k datůmvyberte příkaz SQL.
Jako text příkazu SQLzadejte následující dotaz:
SELECT Person.Contact.EmailAddress, Person.Contact.FirstName, CONVERT(float, Sales.SalesPerson.Bonus) AS Bonus FROM Sales.SalesPerson INNER JOIN Person.Contact ON Sales.SalesPerson.SalesPersonID = Person.Contact.ContactID
Poznámka
Před načtením této hodnoty do proměnné balíčku, jejíž typ je
Double , musíte převést hodnotuměny ve sloupci Bonus na plovoucí .
Na kartě Tok dat přidejte cíl sady záznamů a připojte ho za zdroj OLE DB.
Otevřete Editor cílové sady záznamůa nakonfigurujte cíl pomocí následujících nastavení:
Na kartě Vlastnosti komponenty vyberte pro vlastnost VariableNameUser::BonusZáznamset.
Na kartě Vstupní sloupce vyberte všechny tři dostupné sloupce.
Konfigurace kontejneru smyčky Foreach a spuštění balíčku
Pod kartou Tok řízení Návrhář SSIS přidejte kontejner smyčky Foreach a připojte tento kontejner za úlohu Tok dat.
Otevřete Editor smyčky Foreacha nakonfigurujte kontejner s následujícím nastavením:
Na stránce
Kolekce vyberteEnumer atorForeach ADO Enumerator a prozdrojovou proměnnou objektu ADO vyberte User::BonusZáznamset .Na stránce Mapování proměnných namapujte User::EmailAddress na index 0, User::FirstName na index 1 a User::Bonus na index 2.
Na kartě Tok řízení v kontejneru smyčky Foreach přidejte úlohu Odeslat poštu.
Otevřete Editor úkolu Odeslat poštua na kartě Pošta nakonfigurujte úkol s následujícím nastavením:
Pro SmtpConnectionvyberte dříve nakonfigurovaného správce připojení SMTP.
Do pole Odzadejte příslušnou e-mailovou adresu.
Pokud používáte vlastní e-mailovou adresu, budete moct ověřit, že se balíček úspěšně spustí. Obdržíte nedoručitelné potvrzení o zprávách odeslaných úkolem Odeslat poštu fiktivním prodejcům AdventureWorks2022.
Zadejte výchozí e-mailovou adresu do polí až.
Tato hodnota nebude použita, ale během spuštění bude nahrazena e-mailovou adresou každého prodejce.
Do Předmětzadejte "Váš roční bonus".
Pro MessageSourceTypevyberte přímý vstup.
Na stránce Výrazy Editoru úloh Odeslat poštuklikněte na tlačítko s třemi tečkami (...) pro otevření Editoru výrazů vlastností .
V editoru výrazů vlastností zadejte následující informace:
Pro ToLinepřidejte následující výraz:
@[User::EmailAddress]
Pro vlastnost MessageSource přidejte následující výraz:
"Dear " + @[User::FirstName] + ": The amount of your bonus for this year is $" + (DT_WSTR, 12) @[User::Bonus] + ". Thank you!"
Spusťte balíček.
Pokud jste zadali platný server SMTP a zadali svoji vlastní e-mailovou adresu, obdržíte neověřené potvrzení o zprávách, které úkol Odeslat poštu odešle fiktivním prodejcům AdventureWorks2022.