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
Poté, co napíšete kód pro vlastní objekt pro integrační služby, musíte sestavit assembler, nasadit ho a integrovat do SSIS Designeru, aby byl dostupný pro použití v balíčcích, a testovat a ladit.
Kroky při budování, nasazení a ladění vlastního objektu pro integrační služby
Už jste napsali vlastní funkcionalitu pro svůj objekt. Teď to musíte otestovat a zpřístupnit uživatelům. Kroky jsou velmi podobné pro všechny typy vlastních objektů, které můžete vytvořit pro integrační služby.
Zde jsou kroky, jak jej postavit, nasadit a otestovat.
Podepište sestavení k vytvoření silným jménem.
Postavte sestavu.
Sestavu nasadit přesunem nebo zkopírováním do příslušné složky Integration Services.
Nainstalujte assembler do globální cache assembly (GAC).
Objekt je automaticky přidán do Toolboxu.
Pokud je to nutné, vyřešte problém s nasazením.
Testujte a ladíte svůj kód.
Nyní můžete použít SSIS Designer v SQL Server Data Tools (SSDT) k vytváření, údržbě a spouštění balíčků zaměřených na různé verze SQL Server. Pro více informací o dopadu tohoto vylepšení na vaše vlastní rozšíření viz Získání podpory vašich SSIS vlastních rozšíření podporou víceverzí SSDT 2015 pro SQL Server 2016
Podpis shromáždění
Když má být assembler sdílen, musí být nainstalován do globální cache assembleru. Po přidání assembleru do globální cache assembleru může být assembler použit aplikacemi jako SQL Server Data Tools (SSDT). Požadavkem globální cache assembleru je, že assembler musí být podepsán silným jménem, což zaručuje, že assembler je globálně jedinečný. Shromáždění se silným názvem má plně kvalifikovaný název, který zahrnuje název, kulturu, veřejný klíč a číslo verze shromáždění. Runtime využívá tyto informace k lokalizaci sestavy a k jejímu rozlišení od ostatních sestav se stejným názvům.
Pro podpis shromáždění se silným jménem musíte nejprve mít nebo vytvořit pár veřejných/soukromých klíčů. Tento veřejný a soukromý kryptografický pár klíčů se používá při sestavování k vytvoření silně jmenované sestavy.
Pro více informací o silných jménech a o krocích, které musíte dodržet při podpisu assembleru, viz následující témata v dokumentaci SDK pro .NET Framework:
Strong-Named Shromáždění
Vytvoření klíčového páru
Podepsání shromáždění se silným jménem
Snadno můžete podepsat svůj assembler jako silné jméno ve Visual Studio při sestavování. V dialogovém okně Project Properties vyberte záložku Podepsání. Vyberte možnost Podepsat sestavu a poté zadejte cestu k souboru klíče (.snk).
Budování shromáždění
Po podepsání projektu musíte projekt nebo řešení postavit nebo znovu postavit pomocí příkazů dostupných v menu Build v SQL Server Data Tools. Vaše řešení může obsahovat samostatný projekt pro vlastní uživatelské rozhraní, které musí být také podepsáno silným jménem a může být vytvořeno současně.
Nejpohodlnější metodou pro provedení následujících dvou kroků – nasazení assembleru a jeho instalaci do globální cache assembleru – je skriptovat tyto kroky jako post-build událost ve Visual Studio. Události sestavení jsou dostupné na stránce Kompilace ve Project vlastnostech pro Visual Basic project a na stránce Události sestavení pro project v C#. Celá cesta je vyžadována pro nástroje příkazového řádku, jako jegacutil.exe. Uvozovky jsou vyžadovány jak u cest obsahujících mezery, tak kolem maker jako $(TargetPath), které se rozšiřují na cesty obsahující mezery.
Zde je příklad příkazového řádku po sestavení události pro vlastního poskytovatele logů:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\gacutil.exe" -u $(TargetName)
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\gacutil.exe" -i $(TargetFileName)
copy $(TargetFileName) "C:\Program Files\Microsoft SQL Server\130\DTS\LogProviders "
Nasazení shromáždění
SSIS Designer lokalizuje vlastní objekty dostupné pro použití v balíčcích tím, že vyjmenovává soubory nalezené v sérii složek, které vznikají při instalaci Služby Integrace SQL Serveru. Když jsou použita výchozí instalační nastavení SQL Server, tato sada složek se nachází pod C:\Program Files\Microsoft SQL Server\130\DTS. Pokud však vytvoříte nastavovací program pro svůj vlastní objekt, měli byste zkontrolovat hodnotu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130\SSIS\Setup\DtsPath registry klíče, abyste ověřili umístění této složky.
Note
Pro informace o tom, jak nasadit vlastní komponenty tak, aby dobře fungovaly s podporou více verzí v SQL Server Data Tools, viz Získání podpory vašich SSIS vlastních rozšíření podporou víceverzí SSDT 2015 pro SQL Server 2016.
Sestavu můžete vložit do složky dvěma způsoby:
Po sestavení přesuňte nebo zkopírujte zkompilovaný assembler do příslušné složky. (Pro pohodlí můžete příkaz copy zahrnout do Post-build události.)
Sestavte sestavu přímo do příslušné složky.
Následující složky nasazení pod C:\Program Files\Microsoft SQL Server\130\DTS se používají pro různé typy vlastních objektů:
| Vlastní objekt | Složka nasazení |
|---|---|
| Úkol | Úkoly |
| Správce připojení | Connections |
| Zprostředkovatel protokolů | LogProvideri |
| Komponenta datového toku | PipelineComponents |
Note
Assemblies jsou kopírovány do těchto složek, aby podporovaly výčet dostupných úkolů, správce spojení a podobně. Proto nemusíte nasazovat assemblie, které obsahují pouze vlastní uživatelské rozhraní pro vlastní objekty, do těchto složek.
Instalace assembleru do globální cache assembleru
Pro instalaci task assembly do globální cache assembleru (GAC) použijte příkazový nástroj gacutil.exe, nebo přetáhněte assemblies do adresáře %system%\assembly . Pro pohodlí můžete také zahrnout výzvu k gacutil.exe v Post-build eventu.
Následující příkaz instaluje komponentu pojmenovanou MyTask.dll do GAC pomocí gacutil.exe.
gacutil /iF MyTask.dll
Po instalaci nové verze vlastního objektu musíte SSIS Designer zavřít a znovu otevřít. Pokud jste nainstalovali starší verze svého vlastního objektu do globální cache assembleru, musíte je před instalací nové verze odstranit. Pro odinstalaci assembleru spusť gacutil.exe a zadej název assembly s /u touto možností.
Pro více informací o globální cache assembleru viz Global Assembly Cache Tool (Gactutil.exe) v .NET Framework Tools.
Řešení problémů s nasazením
Pokud se váš vlastní objekt objeví v Toolboxu nebo v seznamu dostupných objektů, ale nemůžete jej přidat do balíčku, zkuste následující:
Podívejte se do globální cache assembleru na více verzí vaší komponenty. Pokud je v globální cache assembleru více verzí komponenty, návrhář nemusí být schopen komponentu načíst. Smažte všechny instance assembleru z globální cache assembly a assembler znovu přidejte.
Ujistěte se, že ve složce deployment existuje pouze jedna instance assembleru.
Obnovte Toolbox.
Připojte Visual Studio k devenv.exe a nastavte breakpoint, který bude postupně procházet inicializační kód, abyste zajistili, že nedochází k žádným výjimkám.
Testování a ladění vašeho kódu
Nejjednodušší způsob, jak ladit metody za běhu vlastního objektu, je začít dtexec.exe od Visual Studio po vytvoření vlastního objektu a spustit balíček, který komponentu používá.
Pokud chcete ladit metody návrhu komponenty, například metodu Validate, otevřete balíček, který komponentu používá ve druhé instanci Visual Studio, a připojte se k jeho devenv.exe procesu.
Pokud chcete také ladit run-time metody komponenty, když je balíček otevřený a běží v SSIS Designeru, musíte vynutit pauzu při spuštění balíčku, abyste se mohli připojit i k procesu DtsDebugHost.exe .
Pro ladění runtime-metod objektu připojením k dtexec.exe
Podepište a sestavte svůj projekt v Debug konfiguraci, nasaděte ho a nainstalujte do globální cache assembleru, jak je popsáno v tomto tématu.
Na záložce Debug v Project vlastnostech vyberte Start externího programu jako akci Start a najděte dtexec.exe, která je ve výchozím nastavení nainstalována v C:\Program Files\Microsoft SQL Server\130\DTS\Binn.
V textovém poli Možnosti příkazové řádky , pod Start Options, zadejte příkazové argumenty potřebné k spuštění balíčku, který využívá vaši komponentu. Často se argument příkazové řádky skládá z přepínače /F[ILE], následovaného cestou a názvem souboru .dtsx. Další informace naleznete v tématu dtexec Utility.
Nastavte breakpointy ve zdrojovém kódu tam, kde je to vhodné, v runtime metodách vaší komponenty.
Rozběhni svůj projekt.
Pro ladění metod návrhu vlastního objektu v době návrhu připojením k SQL Server Data Tools
Podepište a sestavte svůj projekt v Debug konfiguraci, nasaděte ho a nainstalujte do globální cache assembleru, jak je popsáno v tomto tématu.
Nastavte breakpointy ve zdrojovém kódu tam, kde je to vhodné, v metodách návrhu vašeho vlastního objektu.
Otevřete druhou instanci Visual Studio a načtěte projekt Integration Services, který obsahuje balíček používající vlastní objekt.
Z první instance Visual Studio připojte k druhé instanci devenv.exe, ve které je balíček načítán, výběrem Připojit se k procesu v menu Debug první instance.
Spusť balíček z druhé instance Visual Studio.
Pro ladění metod běhu vlastního objektu v čase připojování k SQL Server Data Tools
Po dokončení kroků uvedených v předchozím postupu vynuťte pauzu při provádění balíčku, abyste se mohli připojit k DtsDebugHost.exe. Tuto pauzu můžete vynutit přidáním breakpointu do události OnPreExecute nebo přidáním skriptu do projektu a zadáním skriptu, který zobrazí modální okno.
Spusťte balíček. Když dojde k pauze, přepněte na instanci Visual Studio, kde je váš kód otevřený, a vyberte Připojit se k procesu v menu Debug. Ujistěte se, že připojujete instance DtsDebugHost.exe uvedenou jako Managed, x86 ve sloupci Typ , ne pouze instanci uvedenou jako x86 .
Vraťte se do pozastaveného balíčku a pokračujte za bod přerušení, nebo klikněte na OK pro zrušení okénka zprávy vyvolané skriptovou úlohou a pokračujte ve spuštění balíčku a ladění.