Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
SSIS Integration Runtime v rámci Azure Data Factory
Pokud řídicí a datové tokové objekty, které jsou součástí Služby Integrace SQL Serveru, plně nesplňují vaše požadavky, můžete sami vyvinout mnoho typů vlastních objektů, včetně:
Vlastní úkoly.
Vlastní správci připojení. Připojte se k externím datovým zdrojům, které momentálně nejsou podporovány.
Vlastní poskytovatelé logů. Zaznamenávejte události balíčků ve formátech, které momentálně nejsou podporovány.
Vlastní sčítací komisaři. Podpora iterace nad sadou objektů nebo formátů hodnot, které v současnosti nejsou podporovány.
Vlastní komponenty datového toku. Lze je nastavit jako zdroje, transformace nebo cíle.
Objektový model Integration Services usnadňuje tento vlastní vývoj pomocí základních tříd, které poskytují konzistentní a spolehlivý rámec pro vaši vlastní implementaci.
Pokud nemusíte znovu používat vlastní funkcionalitu napříč více balíčky, úloha Script a komponenta Script vám dají plný výkon spravovaného programovacího jazyka s výrazně menším množstvím infrastrukturního kódu k napsání. Pro více informací viz Porovnání skriptovacích řešení a vlastních objektů.
Kroky při vývoji vlastního objektu pro integrační služby
Když vyvíjíte vlastní objekt pro použití v Integration Services, vytvoříte Class Library (DLL), která bude načtena v době návrhu a běhu SSIS Designerem a runtime Integration Services. Nejdůležitější metody, které musíte implementovat, nejsou metody, které voláte z vlastního kódu, ale metody, které runtime volá ve vhodných chvílích k inicializaci a ověření vaší komponenty a k vyvolání její funkčnosti.
Zde jsou kroky, které postupujte při vývoji vlastního objektu:
Vytvořte nový projekt typu Class Library ve vašem preferovaném spravovaném programovacím jazyce.
Dědíme z příslušné základní třídy, jak je ukázáno v následující tabulce.
Aplikujte příslušný atribut na svou novou třídu, jak je ukázáno v následující tabulce.
Podle potřeby přepsávám metody základní třídy a napište kód pro vlastní funkčnost vašeho objektu.
Volitelně si vytvořte vlastní uživatelské rozhraní pro svou součástku. Pro snadnější nasazení možná budete chtít vyvíjet uživatelské rozhraní jako samostatný projekt v rámci stejného řešení a vytvořit ho jako samostatný assembler.
Volitelně zobrazit odkaz na ukázky a obsah nápovědy pro vlastní objekt v SSIS Toolboxu.
Postavte, nasaděte a ladíte svůj nový vlastní objekt, jak je popsáno v sekci Vytváření, nasazení a ladění vlastních objektů.
Základní třídy, atributy a důležité metody
Tato tabulka poskytuje snadný odkaz na nejdůležitější prvky objektového modelu Integration Services pro každý typ vlastního objektu, který můžete vyvinout.
| Vlastní objekt | Základní třída | Vlastnost | Důležité metody |
|---|---|---|---|
| Úkol | Task | DtsTaskAttribute | Execute |
| Správce připojení | ConnectionManagerBase | DtsConnectionAttribute | AcquireConnection, ReleaseConnection |
| Zprostředkovatel protokolů | LogProviderBase | DtsLogProviderAttribute | OpenLog, Log, CloseLog |
| Výčtář | ForEachEnumerator | DtsForEachEnumeratorAttribute | GetEnumerator |
| Komponenta datového toku | PipelineComponent | DtsPipelineComponentAttribute | ProvideComponentProperties, PrimeOutput, ProcessInput |
Poskytování odkazů na ukázky a pomocný obsah
Pro zobrazení odkazu v SSIS Toolboxu na ukázky a nápovědní obsah pro vlastní objekt napsaný ve spravovaném kódu použijte následující vlastnosti.
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.SamplesTag*
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.HelpCollection*
Microsoft. SqlServer.Dts.Pipeline.DTSPipelineComponentAttribute.HelpKeyword*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.SamplesTag*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.HelpCollection*
Microsoft. SqlServer.Dts.Runtime.DTSTaskAttribute.HelpKeyword*
Pro zobrazení odkazu na ukázky a obsah nápovědy pro vlastní objekt napsaný v nativním kódu přidejte položky do souboru Registry Script (.rgs) pro SamplesTag, HelpKeyword a HelpCollection. Následuje příklad.
val HelpKeyword = s 'sql11.dts.designer.executepackagetask.F1'
val SamplesTag = s 'ExecutePackageTask'
Poskytování vlastního uživatelského rozhraní
Aby si uživatelé vašeho vlastního objektu mohli nastavit jeho vlastnosti, možná budete muset vyvinout i vlastní uživatelské rozhraní. V případech, kdy není nutné mít vlastní uživatelské rozhraní, můžete zvolit vytvoření takového, které poskytne uživatelsky přívětivější rozhraní než výchozí editor.
V projektu nebo assembleru s vlastním uživatelským rozhraním obvykle existují dvě třídy -a třída, která implementuje rozhraní Integration Services pro uživatelská rozhraní pro konkrétní typ vlastního objektu a Windows formulář, který zobrazuje pro získávání informací od uživatele. Rozhraní, která implementujete, mají jen několik metod a vlastní uživatelské rozhraní není těžké vyvinout.
Note
Mnoho poskytovatelů logů Integration Services má vlastní uživatelské rozhraní, které implementuje IDtsLogProviderUI a nahrazuje textové pole Konfigurace filtrovaným rozbalovacím seznamem dostupných správců připojení. Nicméně v této verzi Integration Services nejsou implementována vlastní uživatelská rozhraní pro poskytovatele vlastních logů. Určení hodnoty UITypeName vlastnosti nemá DtsLogProviderAttribute žádný efekt.
Následující tabulka poskytuje snadný odkaz na rozhraní, která musíte implementovat při vývoji vlastního uživatelského rozhraní pro každý typ vlastního objektu. Také vysvětluje, co uživatel vidí, pokud se rozhodnete nevyvíjet vlastní uživatelské rozhraní pro svůj objekt, nebo pokud nepropojíte objekt s jeho uživatelským rozhraním pomocí vlastnosti UITypeName v atributu objektu. Ačkoli výkonný Rozšířený editor může být pro komponentu datového toku dostačující, okno Vlastnosti je méně uživatelsky přívětivé řešení pro správce úloh a spojení a vlastní ForEach enumerátor nelze vůbec nakonfigurovat bez vlastního formuláře.
| Vlastní objekt | Základní třída uživatelského rozhraní | Výchozí editační chování, pokud není k dispozici vlastní uživatelské rozhraní |
|---|---|---|
| Úkol | IDtsTaskUI | okno Vlastnosti pouze |
| Správce připojení | IDtsConnectionManagerUI | okno Vlastnosti pouze |
| Zprostředkovatel protokolů | IDtsLogProviderUI (Není implementováno v integračních službách) |
Textové pole ve sloupci Konfigurace |
| Výčtář | ForEachEnumeratorUI | okno Vlastnosti pouze. Konfigurační oblast enumerátoru v editoru je prázdná. |
| Komponenta datového toku | IDtsComponentUI | Rozšířený editor |