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
Než napíšete vlastní kód do komponenty Script, musíte vybrat typ komponenty datového toku, kterou chcete vytvořit – zdroj, transformaci nebo cíl – a poté nakonfigurovat metadata a vlastnosti komponenty v Editoru transformace skriptů.
Výběr typu komponenty, kterou vytvoříte
Když přidáte komponentu Script do panelu Tok dat v SSIS Designeru, objeví se dialogové okno Vybrat typ komponenty skriptu. Komponentu předkonfigurujete jako zdroj, transformaci nebo cíl. Po provedení tohoto počátečního výběru můžete pokračovat v konfiguraci komponenty v Editoru transformace skriptů.
Pro nastavení výchozího jazyka skriptů pro komponentu Script použijte možnost Scripting language na stránce Obecné v dialogovém okně Možnosti . Další informace najdete na stránce Obecné.
Pochopení dvou Design-Time režimů
V SSIS Designer má složka Script dva režimy: režim návrhu metadat a režim návrhu kódu.
Když otevřete Editor transformace skriptů, komponenta přejde do režimu návrhu metadat. V tomto režimu můžete vybírat vstupní sloupce a přidávat nebo konfigurovat výstupy a výstupní sloupce, ale kód nemůžete psát. Po nastavení metadat komponenty můžete přepnout do režimu návrhu kódu a napsat skript.
Když přepnete do režimu návrhu kódu kliknutím na Edit Script, komponenta Script uzamkne metadata, aby zabránila dalším změnám, a pak automaticky generuje základní kód z metadat vstupů a výstupů. Po dokončení automaticky generovaného kódu budete moci zadat svůj vlastní kód. Váš kód používá automaticky generované základní třídy ke zpracování vstupních řádků, přístupu k bufferům a sloupcům v bufferech a k získávání správců spojení a proměnných z balíčku, vše jako silně typované objekty.
Po zadání vlastního kódu v režimu návrhu kódu se můžete vrátit zpět do režimu návrhu metadat. Tímto se žádný kód, který jste zadali, nesmaže; následné změny metadat však způsobují regeneraci základní třídy. Následně může vaše komponenta selhat při validaci, protože objekty, na které odkazuje váš vlastní kód, již nemusí existovat nebo byly upraveny. V takovém případě musíte kód opravit ručně, aby mohl být úspěšně zkompilován proti regenerované základní třídě.
Konfigurace komponenty v režimu návrhu metadat
V režimu návrhu metadat můžete vybírat vstupní sloupce a přidávat a konfigurovat výstupy a výstupní sloupce, ale kód nemůžete psát. Po nakonfigurování metadat komponenty přepněte do režimu návrhu kódu a napište skript.
Vlastnosti, které musíte nastavit ve vlastním editoru, závisí na použití komponenty Script. Skriptová komponenta může být nakonfigurována jako zdroj, transformace nebo cíl. V závislosti na tom, jak se komponenta používá, podporuje vstup nebo výstupy nebo obojí. Vlastní kód, který napíšete, zpracovává vstupní a výstupní řádky a sloupce.
Stránka vstupních sloupců editoru transformace skriptů
Stránka Vstupní sloupce v Editoru transformace skriptů se zobrazuje pro transformace a cíle, ale ne pro zdroje. Na této stránce vyberete dostupné vstupní sloupce, které chcete zpřístupnit svému vlastnímu skriptu, a určíte k nim přístup pouze pro čtení nebo čtení/zápis.
V kódovém projektu, který bude generován na základě těchto metadat, obsahuje položka projektu BufferWrapper třídu pro každý vstup a tato třída obsahuje typované vlastnosti přístupových modulů pro každý vybraný vstupní sloupec. Například pokud vyberete celočíselný sloupec CustomerID a sloupec řetězce CustomerName ze vstupu jménem CustomerInput, položka projektu BufferWrapper bude obsahovat třídu CustomerInput , která pochází z ScriptBuffer, a třída CustomerInput zobrazí celočíselnou vlastnost jménem CustomerID a řetězec nazvaný CustomerName. Tato konvence umožňuje psát kód pomocí typové kontroly takto:
Dim currentCustomerID as Integer = CustomerInput.CustomerID
Dim currentCustomerName as String = CustomerInput.CustomerName
Pro více informací o tom, jak nastavit vstupní sloupce pro konkrétní typ komponenty datového toku, viz vhodný příklad v sekci Vývoj specifických typů skriptových komponent.
Stránka vstupů a výstupů editoru transformace skriptů
Stránka Vstup a Výstupy v Editoru transformace skriptů je zobrazena pro zdroje, transformace a cíle. Na této stránce přidáváte, odebíráte a konfigurujete vstupy, výstupy a výstupní sloupce, které chcete použít ve svém vlastním skriptu, v následujících omezeních:
Pokud je použita jako zdroj, komponenta Script nemá žádný vstup a podporuje více výstupů.
Při použití jako transformace komponenta Script podporuje jeden vstup a více výstupů.
Při použití jako cíl komponenta Script podporuje jeden vstup a nemá žádné výstupy.
V kódovém projektu, který bude generován na základě těchto metadat, obsahuje položka projektu BufferWrapper třídu pro každý vstup a výstup. Například pokud vytvoříte výstup nazvaný CustomerOutput, položka projektu BufferWrapper bude obsahovat třídu CustomerOutput , která pochází z ScriptBuffer, a třída CustomerOutput bude obsahovat typované vlastnosti přístupových modulů pro každý vytvořený výstupní sloupec.
Výstupní sloupce můžete nastavit pouze na stránce Vstup a Výstup. Vstupní sloupce pro transformace a cíle můžete vybrat na stránce Vstupní sloupce . Vlastnosti typovaného accessoru vytvořené pro vás v položce projektu BufferWrapper budou pouze pro zápis výstupních sloupců. Vlastnosti přístupových sloupců pro vstupní sloupce budou pouze pro čtení nebo pro čtení/zápis v závislosti na typu použití, který jste pro každý sloupec na stránce Vstupní sloupce zvolili.
Pro více informací o konfiguraci vstupů a výstupů pro konkrétní typ komponenty datového toku viz vhodný příklad pod Vývoj specifických typů skriptových komponent.
Note
Ačkoliv nelze přímo nastavit výstup jako chybový výstup v komponentě Script pro automatické zpracování chybových řádků, můžete reprodukovat funkčnost chybového výstupu vytvořením dalšího výstupu a použitím skriptu, který směruje řádky na tento výstup, když je to vhodné. Další informace naleznete v tématu Simulace výstupu chyby pro komponentu skriptu.
Vlastnosti výstupů ExclusionGroup a SynchronousInputID
Vlastnost ExclusionGroup má nenulovou hodnotu pouze u transformací se synchronními výstupy, kde váš kód provádí filtrování nebo větvení a směruje každý řádek na jeden z výstupů, které sdílejí stejnou nenulovou hodnotu ExclusionGroup . Například transformace může vést řádky buď na výchozí výstup, nebo na chybový výstup. Když vytváříte další výstupy pro tento scénář, ujistěte se, že nastavite hodnotu vlastnosti SynchronousInputID na celé číslo, které odpovídá ID vstupu komponenty.
Vlastnost SynchronousInputID má nenulovou hodnotu pouze u transformací se synchronními výstupy. Pokud je hodnota této vlastnosti nulová, znamená to, že výstup je asynchronní. Pro synchronní výstup, kde jsou řádky předávány vybranému výstupu nebo výstupům bez přidání nových řádků, by tato vlastnost měla obsahovat ID vstupu komponenty.
Note
Když editor transformace skriptu vytvoří první výstup, nastaví vlastnost SynchronousInputID výstupu na ID vstupu komponenty. Když však editor vytvoří následující výstupy, nastaví vlastnosti SynchronousInputID těchto výstupů na nulu.
Pokud vytváříte komponentu se synchronními výstupy, každý výstup musí mít vlastnost SynchronousInputID nastavenou na ID vstupu komponenty. Proto musí být každý výstup, který editor vytvoří po prvním výstupu, změněn z nuly na ID vstupu komponenty.
Pokud vytváříte komponentu s asynchronními výstupy, každý výstup musí mít vlastnost SynchronousInputID nastavenou na nulu. Proto musí být hodnota SynchronousInputID prvního výstupu změněna z ID vstupu komponenty na nulu.
Pro příklad směrování řádků na jeden ze dvou synchronních výstupů v komponentě Script viz Vytvoření synchronní transformace se složkou Script.
Názvy objektů ve generovaném skriptu
Komponenta Script analyzuje názvy vstupů a výstupů a parsuje názvy sloupců ve vstupech a výstupech, a na základě těchto jmen generuje třídy a vlastnosti v položce projektu BufferWrapper. Pokud nalezená jména obsahují znaky, které nepatří do Unicode kategorií UpperLetter, SmallcaseLetter, TitlecaseLetter, ModifierLetter, OtherLetter nebo DecimalDigitLetter, neplatné znaky jsou v generovaných názvech vypuštěny. Například se vynechává mezery, takže dva vstupní sloupce s jmény FirstName a [First Name] jsou oba interpretovány jako sloupce FirstName, což vede k nepředvídatelným výsledkům. Aby se této situaci předešelo, názvy vstupů a výstupů a vstupních a výstupních sloupců používaných komponentou Script by měly obsahovat pouze znaky v kategoriích Unicode uvedených v této sekci.
Stránka skriptu editoru transformace skriptů
Na stránce Script v Script Task Editoru přiřadíte unikátní název a popis pro Script task. Můžete také přiřadit hodnoty pro následující vlastnosti.
Note
V SYSTÉMU SQL Server 2008 Integration Services (SSIS) a novějších verzích jsou všechny skripty předkompilovány. V předchozích verzích jste specifikovali, zda jsou skripty předkompilovány, nastavením vlastnosti Prekompilace pro daný úkol.
ValidateExternalMetadata vlastnost
Booleovská hodnota vlastnosti ValidateExternalMetadata určuje, zda by měla komponenta provádět validaci proti externím datovým zdrojům při návrhu, nebo zda by měla validaci odložit až na čas běhu. Ve výchozím nastavení je hodnota této vlastnosti Pravda; to znamená, že externí metadata jsou ověřována jak při návrhu, tak za běhu. Můžete chtít nastavit hodnotu této vlastnosti na Nepravdivé , pokud externí datový zdroj není v době návrhu dostupný: například když balíček stáhne zdrojový kód nebo vytvoří cíl pouze za běhu.
Vlastnosti ReadOnlyVariables a ReadWriteVariables
Jako hodnoty těchto vlastností můžete zadat seznamy existujících proměnných oddělené čárkami, abyste je zpřístupnili pouze pro čtení nebo pro čtení/zápis v rámci kódu komponenty Script. Proměnné jsou přístupné v kódu prostřednictvím ReadOnlyVariables a ReadWriteVariables vlastností automaticky generované základní třídy. Pro více informací viz Používání proměnných ve skriptové komponentě.
Note
Názvy proměnných jsou citlivé na velikost písmen.
ScriptLanguage
Jako programovací jazyk pro skriptovou komponentu můžete zvolit buď Microsoft Visual Basic, nebo Microsoft Visual C#.
Tlačítko upravit skript
Tlačítko Edit Script otevře IDE Microsoft Visual Studio Tools for Applications (VSTA), ve kterém píšete svůj vlastní skript. Pro více informací viz Kódování a ladění skriptní komponenty.
Stránka správců spojení v editoru transformace skriptů
Na stránce Správce spojení v editoru transformace skriptů přidáváte a odebíráte správce spojení, které chcete použít ve svém vlastním skriptu. Obvykle je potřeba odkazovat na správce připojení, když vytváříte zdrojovou nebo cílovou komponentu.
V kódovém projektu, který bude generován na základě těchto metadat, obsahuje položka projektu ComponentWrapper třídu kolekce Connections , která má typovanou vlastnost accessor pro každý vybraný správce spojení. Každá typovaná vlastnost accessoru má stejný název jako samotný správce spojení a vrací odkaz na správce spojení jako instanci .IDTSConnectionManager100 Například pokud jste přidali správce spojení pojmenovaného MyADONETConnection na stránce Správce spojení v editoru, můžete získat odkaz na správce spojení ve vašem skriptu pomocí následujícího kódu:
Dim myADONETConnectionManager As IDTSConnectionManager100 = _
Me.Connections.MyADONETConnection
Pro více informací viz Připojení ke zdrojům dat v komponentě Script.