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 ve službě Azure Data Factory
Proměnné ukládají hodnoty, které může balíček služby SQL Server Integration Services a jeho kontejnery, úlohy a obslužné rutiny událostí používat za běhu. Skripty v úloze Skript a komponenta Script mohou také používat proměnné. Omezení priority, která sekvencují úkoly a kontejnery do pracovního postupu, můžou používat proměnné, když jejich definice omezení zahrnují výrazy.
Proměnné můžete použít v balíčcích integračních služeb pro následující účely:
Aktualizace vlastností elementů balíčku za běhu Můžete například dynamicky nastavit počet souběžných spustitelných souborů, které kontejner smyčky Foreach umožňuje.
Zahrnutí vyhledávací tabulky v paměti Balíček může například spustit úlohu Execute SQL, která načte proměnnou s datovými hodnotami.
Načtení proměnných s datovými hodnotami a jejich následné použití k určení podmínky hledání v klauzuli WHERE. Například skript v úloze Skript může aktualizovat hodnotu proměnné, která je používána příkazem Transact-SQL v úloze Execute SQL.
Načtení proměnné s celým číslem a následné použití hodnoty k řízení smyčky v rámci řízení toku balíčku. Můžete například použít proměnnou ve výrazu vyhodnocení kontejneru for loop k řízení iterace.
Vyplňování hodnot parametrů pro příkazy Transact-SQL během běhu programu Balíček může například spustit úlohu Execute SQL a pak pomocí proměnných dynamicky nastavit parametry v příkazu Transact-SQL.
Vytváření výrazů, které obsahují hodnoty proměnných Například transformace odvozeného sloupce může naplnit sloupec výsledkem získaným vynásobením hodnoty proměnné hodnotou sloupce.
Systémové a uživatelem definované proměnné
Integrační služby podporují dva typy proměnných: uživatelem definované proměnné a systémové proměnné. Uživatelem definované proměnné jsou definovány vývojáři balíčků a systémové proměnné jsou definovány integračními službami. Můžete vytvořit tolik uživatelsky definovaných proměnných, kolik vyžaduje balíček, ale nemůžete vytvořit další systémové proměnné.
Všechny proměnné systému a uživatelem definované lze použít ve vazbách parametrů, které úloha Execute SQL používá k mapování proměnných na parametry v příkazech SQL. Další informace naleznete v Úloha spustit SQL a Parametry a návratové kódy v úloze Execute SQL.
Poznámka:
V názvech uživatelem definovaných a systémových proměnných se rozlišují malá a velká písmena.
Můžete vytvořit uživatelem definované proměnné pro všechny typy kontejnerů integračních služeb: balíčky, kontejnery smyčky Foreach, kontejnery smyčky For Loop, kontejnery sekvence, úlohy a obslužné rutiny událostí. Uživatelem definované proměnné jsou členy kolekce Variables kontejneru.
Pokud balíček vytvoříte pomocí nástroje SSIS Designer, uvidíte členy kolekcí Proměnných ve složkách Variables na kartě Průzkumník balíčků aplikace SSIS Designer. Složky obsahují uživatelsky definované proměnné a systémové proměnné.
Uživatelem definované proměnné můžete nakonfigurovat následujícími způsoby:
Zadejte název a popis proměnné.
Zadejte obor názvů pro proměnnou.
Určuje, jestli proměnná vyvolá událost, když se změní její hodnota.
Určuje, zda je proměnná jen pro čtení nebo čtení/zápis.
K nastavení hodnoty proměnné použijte výsledek vyhodnocení výrazu.
Vytvořte proměnnou v oboru balíčku nebo objektu balíčku, jako je například úkol.
Zadejte hodnotu a datový typ proměnné.
Jedinou konfigurovatelnou možností systémových proměnných je určení, jestli při změně hodnoty vyvolá událost.
Pro různé typy kontejnerů je k dispozici jiná sada systémových proměnných. Další informace o systémových proměnných používaných balíčky a jejich prvky naleznete v tématu Systémové proměnné.
Další informace o scénářích použití proměnných v reálném životě najdete v tématu Použití proměnných v balíčcích.
Vlastnosti proměnných
Uživatelem definované proměnné můžete nakonfigurovat nastavením následujících vlastností v okně Proměnné nebo v okně Vlastnosti . Některé vlastnosti jsou k dispozici pouze v okně Vlastnosti.
Poznámka:
Jedinou konfigurovatelnou možností systémových proměnných je určení, jestli při změně hodnoty vyvolá událost.
Popis
Určuje popis proměnné.
EvaluateAsExpression
Pokud je vlastnost nastavena na Hodnotu True, zadaný výraz slouží k nastavení hodnoty proměnné.
Výraz
Určuje výraz, který je přiřazen k proměnné.
název
Určuje název proměnné.
Namespace
Integrační služby poskytují dva obory názvů, uživatele a systém. Ve výchozím nastavení jsou vlastní proměnné v oboru názvů Uživatele a systémové proměnné jsou v systémovém oboru názvů. Můžete vytvořit další obory názvů pro uživatelem definované proměnné a změnit název oboru názvů uživatele , ale nemůžete změnit název systémového oboru názvů, přidat proměnné do oboru názvů systému nebo přiřadit systémové proměnné jinému oboru názvů.
RaiseChangedEvent
Pokud je vlastnost nastavena na True, OnVariableValueChanged událost je vyvolána při změně hodnoty proměnné.
jen pro čtení
Pokud je vlastnost nastavena na False, proměnná je read\write.
Rozsah
Poznámka:
Toto nastavení vlastnosti můžete změnit pouze kliknutím na Přesunout proměnnou v okně Proměnné .
Proměnná se vytvoří v rámci oboru balíčku nebo v rámci oboru kontejneru, úkolu nebo obslužné rutiny události v balíčku. Vzhledem k tomu, že kontejner balíčku je v horní části hierarchie kontejnerů, proměnné s oborem balíčku fungují jako globální proměnné a mohou být používány všemi kontejnery v balíčku. Podobně lze proměnné definované v rámci rozsahu kontejneru, jako je kontejner For Loop, používat u všech úloh nebo kontejnerů v rámci kontejneru For Loop.
Pokud balíček spouští jiné balíčky pomocí úlohy Spustit balíček, proměnné definované v oboru volajícího balíčku nebo úlohy Spustit balíček mohou být zpřístupněny volanému balíčku pomocí typu konfigurace Nadřazená proměnná balíčku. Další informace naleznete v tématu Konfigurace balíčků.
IncludeInDebugDump
Určuje, zda je hodnota proměnné zahrnuta do souborů výpisu stavu ladění.
U uživatelem definovaných proměnných a systémových proměnných je výchozí hodnota možnosti IncludeInDebugDumptrue.
U uživatelem definovaných proměnných však systém resetuje možnost IncludeInDebugDump na false , pokud jsou splněny následující podmínky:
Pokud EvaluateAsExpression proměnná je nastavena na true, systém resetuje IncludeInDebugDump možnost false.
Pokud chcete do souborů výpisu ladění zahrnout text výrazu jako hodnotu proměnné, nastavte možnost IncludeInDebugDump na hodnotu true.
Pokud se datový typ proměnné změní na řetězec, systém resetuje možnost IncludeInDebugDump na false.
Když systém resetuje možnost IncludeInDebugDump na false, může to přepsat hodnotu vybranou uživatelem.
Hodnota
Hodnota uživatelem definované proměnné může být literál nebo výraz. Hodnota proměnné nemůže být null. Proměnné mají následující výchozí hodnoty:
| Datový typ | Výchozí hodnota |
|---|---|
| Boolovská logika | Nepravda |
| Číselné a binární datové typy | 0 (nula) |
| Datové typy Char a String | (prázdný řetězec) |
| Objekt | System.Object |
Proměnná má možnosti pro nastavení hodnoty proměnné a datového typu hodnoty. Tyto dvě vlastnosti musí být kompatibilní: například použití řetězcové hodnoty společně s celočíselnou datovým typem není platné.
Pokud je proměnná nakonfigurovaná tak, aby se vyhodnocovala jako výraz, musíte zadat výraz. Za běhu se výraz vyhodnotí a proměnná se nastaví na výsledek vyhodnocení. Pokud například proměnná používá výraz DATEPART("month", GETDATE()) , hodnota proměnné je číslo ekvivalentní měsíci pro aktuální datum. Výraz musí být platný výraz, který používá syntaxi gramatiky výrazu SSIS. Při použití výrazu s proměnnými může výraz používat literály a operátory a funkce, které gramatika výrazu poskytuje, ale výraz nemůže odkazovat na sloupce z toku dat v balíčku. Maximální délka výrazu je 4000 znaků. Další informace najdete v tématu Výrazy SSIS (Integration Services).
ValueType
Poznámka:
Hodnota vlastnosti se zobrazí ve sloupci Datový typ v okně Proměnné .
Určuje datový typ hodnoty proměnné.
Scénáře použití proměnných
Proměnné se v balíčcích integračních služeb používají mnoha různými způsoby. Pravděpodobně zjistíte, že vývoj balíčků nepostupuje daleko předtím, než do balíčku přidáte uživatelsky definovanou proměnnou, abyste mohli implementovat flexibilitu a možnosti správy, které vaše řešení vyžaduje. V závislosti na scénáři se také běžně používají systémové proměnné.
Výrazy vlastností Proměnné slouží k zadání hodnot ve výrazech vlastností, které nastavují vlastnosti balíčků a objektů balíčků. Například výraz SELECT * FROM @varTableName zahrnuje proměnnou varTableName, která aktualizuje příkaz SQL, jenž spouští úloha Execute SQL. Výraz " DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther], aktualizuje balíček, který spustí úloha Spustit balíček, spuštěním balíčku určeného v varPackageFirst proměnné v prvním dni v měsíci a spuštěním balíčku určeného varPackageOther v proměnné v jiných dnech. Další informace naleznete v tématu Použití výrazů vlastností v balíčcích.
Výrazy toku dat Pomocí proměnných můžete zadat hodnoty ve výrazech, které transformace odvozeného sloupce a podmíněného rozdělení používají k naplnění sloupců nebo k nasměrování řádků dat na různé výstupy transformace. Například výraz @varSalutation + LastName zřetězí hodnotu v proměnné VarSalutation a sloupci LastName. Výraz Income < @HighIncome směruje datové řádky, ve kterých je hodnota sloupku Income menší než hodnota v proměnné HighIncome na výstup. Další informace naleznete v tématu Transformace odvozeného sloupce, Podmíněná transformace rozdělení a Výrazy služby Integration Services (SSIS).
Výrazy omezení priority Zadejte hodnoty, které se mají použít v omezeních priority, aby bylo možné určit, jestli se spustí omezený spustitelný soubor. Výrazy lze použít společně s výsledkem provedení (úspěch, selhání, dokončení) nebo místo výsledku provedení. Pokud se například výraz @varMax > @varMinvyhodnotí jako true, spustí se spustitelný soubor. Další informace naleznete v tématu Přidání výrazů k prioritním omezením.
Parametry a návratové kódy Zadejte hodnoty vstupních parametrů nebo uložte hodnoty výstupních parametrů a návratových kódů. Provedete to mapováním proměnných na parametry a návratovými hodnotami. Pokud například nastavíte proměnnou varProductId na hodnotu 23 a spustíte příkaz SQL, SELECT * from Production.Product WHERE ProductID = ?dotaz načte produkt s ProductID 23. Další informace naleznete v Úloha spustit SQL a Parametry a návratové kódy v úloze Execute SQL.
Výrazy smyčky For Zadejte hodnoty, které se mají použít ve výrazech inicializace, vyhodnocení a přiřazení ve smyčce For. Pokud je například proměnná varCount 2 a varMaxCount je 10, inicializační výraz je @varCount, výraz vyhodnocení je @varCount < @varMaxCounta výraz přiřazení je @varCount =@varCount +1, pak smyčka opakuje 8krát. Další informace najdete v tématu Kontejner smyčky.
Konfigurace proměnných nadřazeného balíčku Předejte hodnoty z nadřazených balíčků do podřízených balíčků. Podřízené balíčky mají přístup k proměnným v nadřazeném balíčku pomocí konfigurací proměnných nadřazeného balíčku. Pokud například podřízený balíček musí použít stejné datum jako nadřazený balíček, podřízený balíček může definovat konfiguraci proměnné nadřazeného balíčku, která určuje proměnnou nastavenou funkcí GETDATE v nadřazené balíčku. Další informace naleznete v tématu Spuštění úlohy balíčku a konfigurace balíčků.
Skript – úloha a komponenta skriptu Zadejte seznam proměnných jen pro čtení a čtení a zápis pro úlohu skriptu nebo komponentu Skript, aktualizujte proměnné pro čtení a zápis v rámci skriptu a pak použijte aktualizované hodnoty ve skriptu nebo mimo skript. Například v kódu numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer)je proměnná numberOfCars skriptu aktualizována hodnotou v proměnné, NumberOfCars. Další informace naleznete v tématu Použití proměnných v úkolu skriptu.
Přidání proměnné
V nástrojích SQL Server Data Tools (SSDT) otevřete balíček Integrační služby, se kterým chcete pracovat.
V Průzkumníku řešení poklikáním otevřete balíček.
V návrháři SSIS definujte rozsah proměnné jedním z následujících kroků:
Pokud chcete nastavit rozsah balíčku, klikněte na libovolné místo na návrhové ploše karty Tok řízení .
Pokud chcete nastavit obor obslužné rutiny události, vyberte na návrhové ploše spustitelný soubor a obslužnou rutinu události na kartě Obslužná rutina události.
Pokud chcete nastavit rozsah úkolu nebo kontejneru, klikněte na návrhové ploše karty Tok řízení nebo na kartě Obslužná rutina události na úkol nebo kontejner.
V nabídce SSIS klikněte na Proměnné. Okno Proměnné můžete volitelně zobrazit tak, že příkaz View.Variables namapujete na kombinaci kláves, kterou zvolíte na stránce Klávesnice dialogového okna Možnosti .
V okně Proměnné klikněte na ikonu Přidat proměnnou . Nová proměnná se přidá do seznamu.
Volitelně můžete kliknout na ikonu Možnosti mřížky , vybrat další sloupce, které chcete zobrazit v dialogovém okně Možnosti mřížky proměnných a potom klepněte na tlačítko OK.
Volitelně můžete nastavit vlastnosti proměnné. Další informace naleznete v tématu Nastavení vlastností proměnné User-Defined.
Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .
Dialogové okno Přidat proměnnou
Pomocí dialogového okna Přidat proměnnou určete vlastnosti nové proměnné.
Možnosti
Kontejner
V seznamu vyberte kontejner. Kontejner definuje rozsah proměnné. Kontejner může být buď balíček, nebo spustitelný soubor v balíčku.
název
Zadejte název proměnné.
Namespace
Zadejte obor názvů proměnné. Ve výchozím nastavení jsou uživatelsky definované proměnné v oboru názvů User.
Typ hodnoty
Vyberte datový typ.
Hodnota
Zadejte hodnotu. Hodnota musí být kompatibilní s datovým typem zadaným v možnosti Typ hodnoty .
Jen pro čtení
Výběrem nastavíte proměnnou jen pro čtení.
Odstranění proměnné
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení klikněte pravým tlačítkem myši na balíček a otevřete ho.
V nabídce SSIS klikněte na Proměnné. Okno Proměnné můžete volitelně zobrazit tak, že příkaz View.Variables namapujete na kombinaci kláves, kterou zvolíte na stránce Klávesnice dialogového okna Možnosti .
Vyberte proměnnou, která chcete odstranit, a potom klepněte na tlačítko Odstranit proměnnou.
Pokud proměnnou v okně Proměnné nevidíte, klikněte na Možnosti mřížky a pak vyberte Zobrazit proměnné všech oborů.
Pokud se otevře dialogové okno Potvrdit odstranění proměnných , potvrďte kliknutím na tlačítko Ano .
Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .
Změna rozsahu proměnné
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení klikněte pravým tlačítkem myši na balíček a otevřete ho.
V nabídce SSIS klikněte na Proměnné. Okno Proměnné můžete volitelně zobrazit tak, že příkaz View.Variables namapujete na kombinaci kláves, kterou zvolíte na stránce Klávesnice dialogového okna Možnosti .
Vyberte proměnnou a potom klikněte na přesunout proměnnou.
Pokud proměnnou v okně Proměnné nevidíte, klikněte na Možnosti mřížky a pak vyberte Zobrazit proměnné všech oborů.
V dialogovém okně Vybrat nový obor vyberte balíček, kontejner, úkol nebo obslužnou rutinu události v balíčku a změňte rozsah proměnné.
Chcete-li uložit aktualizovaný balíček, klepněte na tlačítko Uložit vybrané položky v nabídce Soubor .
Nastavení vlastností uživatelem definované proměnné
K nastavení vlastností uživatelem definované proměnné v integračních službách můžete použít jednu z následujících funkcí:
Okno Proměnných
Okno Vlastnosti. V okně Vlastnosti jsou uvedeny vlastnosti pro konfiguraci proměnných, které nejsou k dispozici v okně Variables : Description, EvaluateAsExpression, Expression, ReadOnly, ValueType a IncludeInDebugDump.
Poznámka:
Integrační služby také poskytují sadu systémových proměnných, jejichž vlastnosti nelze aktualizovat, s výjimkou RaiseChangedEvent vlastnost.
Nastavení výrazů u proměnných
Když použijete okno Vlastnosti k nastavení výrazů v uživatelem definované proměnné:
Hodnotu proměnné lze nastavit vlastností Value nebo Expression. Ve výchozím nastavení je vlastnost EvaluateAsExpression nastavena na False a hodnota proměnné je nastavena vlastností Value. Chcete-li použít výraz k nastavení hodnoty, musíte nejprve nastavit EvaluateAsExpression na True a pak zadat výraz v Expression vlastnost. Vlastnost Value je automaticky nastavena na výsledek vyhodnocení výrazu.
Vlastnost ValueType obsahuje datový typ hodnoty ve vlastnosti Value. Pokud je hodnota nastavena výrazem, ValueType se automaticky aktualizuje na datový typ, který je kompatibilní s výsledkem vyhodnocení výrazu. Pokud například hodnota obsahuje hodnotu 0 a ValueType vlastnost obsahuje Int32 a potom nastavíte Výraz na GETDATE(), Hodnota obsahuje aktuální datum a čas a ValueType je nastavena na DateTime.
Okno Vlastnosti pro proměnnou poskytuje přístup k dialogovému okně Tvůrce výrazů . Tento nástroj můžete použít k sestavení, ověření a vyhodnocení výrazů. Další informace naleznete v tématu Expression Builder a Výrazy Integration Services (SSIS).
Když použijete okno Variables k nastavení výrazů u uživatelem definované proměnné:
Pokud chcete použít výraz k nastavení hodnoty proměnné, nejprve ověřte, že datový typ proměnné je kompatibilní s výsledkem vyhodnocení výrazu a potom zadejte výraz ve sloupci Výraz v okně Proměnné . Vlastnost EvaluateAsExpression v okně Properties je automaticky nastavena na True.
Když přiřadíte výraz proměnné, zobrazí se vedle proměnné speciální značka ikony. Tato speciální ikona se také zobrazí vedle správců připojení a úkolů s nastavenými výrazy.
Okno Proměnné pro proměnnou poskytuje přístup k dialogovému okně Tvůrce výrazů . Tento nástroj můžete použít k sestavení, ověření a vyhodnocení výrazů. Další informace naleznete v tématu Expression Builder a Výrazy Integration Services (SSIS).
Pokud v okně Variables i Properties přiřadíte výraz proměnné a EvaluateAsExpression je nastaven na Hodnotu True, nelze změnit datový typ proměnné.
Nastavení vlastností oboru názvů a názvu
Hodnoty vlastností Název a Obor názvů musí začínat písmenem abecedního znaku definovaným standardem Unicode 2.0 nebo podtržítkem (_). Další znaky můžou být písmena nebo číslice definované ve standardu Unicode 2.0 nebo podtržítko (_).
Nastavte vlastnosti proměnných v okně Proměnné
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení klikněte pravým tlačítkem myši na balíček a otevřete ho.
V nabídce SSIS klikněte na Proměnné.
Okno Proměnné můžete volitelně zobrazit tak, že příkaz View.Variables namapujete na kombinaci kláves, kterou zvolíte na stránce Klávesnice dialogového okna Možnosti .
Volitelně můžete v okně Proměnné kliknout na Možnosti mřížky a pak vybrat sloupce, které se mají zobrazit v okně Proměnné, a vybrat filtry, které se mají použít na seznam proměnných.
Vyberte proměnnou v seznamu a pak aktualizujte hodnoty ve sloupcích Název, Datový typ, Hodnota, Obor názvů, Vyvolat událost změny, Popis a Výraz .
Vyberte proměnnou v seznamu a potom kliknutím na přesunout proměnnou změňte obor.
Chcete-li uložit aktualizovaný balíček, v nabídce Soubor klepněte na tlačítko Uložit vybrané položky.
Nastavit vlastnosti proměnné v okně vlastností
V nástrojích SQL Server Data Tools (SSDT) otevřete projekt Integrační služby, který obsahuje požadovaný balíček.
V Průzkumníku řešení klikněte pravým tlačítkem myši na balíček a otevřete ho.
V nabídce Zobrazit klepněte na okno Vlastnosti.
V nástroji SSIS Designer klikněte na kartu Průzkumník balíčků a rozbalte uzel Balíček.
Chcete-li upravit proměnné s oborem balíčku, rozbalte uzel Proměnné; jinak rozbalte obslužné rutiny událostí nebo spustitelné uzly, dokud nenajdete uzel Proměnné obsahující proměnnou, kterou chcete upravit.
Klikněte na proměnnou, jejíž vlastnosti chcete upravit.
V okně Vlastnosti aktualizujte vlastnosti proměnné pro čtení a zápis. Některé vlastnosti jsou přístupné pro čtení nebo jsou určeny pouze pro čtení u uživatelsky definovaných proměnných.
Další informace o vlastnostech naleznete v tématu Proměnné služby SSIS (Integration Services).
Chcete-li uložit aktualizovaný balíček, v nabídce Soubor klepněte na tlačítko Uložit vybrané položky.
Dynamicky aktualizovat proměnnou pomocí konfigurací
Pokud chcete dynamicky aktualizovat proměnné, můžete vytvořit konfigurace proměnných, nasadit konfigurace s balíčkem a pak aktualizovat hodnoty proměnných v konfiguračním souboru při nasazování balíčků. V době běhu balíček používá aktualizované hodnoty proměnných. Další informace naleznete v tématu Vytvoření konfigurace balíčků.