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
Když komponenta toku dat použije transformaci na data sloupců, extrahuje data ze zdrojů nebo načte data do cílů, může dojít k chybám. K chybám často dochází kvůli neočekávaným hodnotám dat. Převod dat například selže, protože sloupec obsahuje řetězec místo čísla, vložení do databázového sloupce selže, protože data jsou datum a sloupec má číselný datový typ, nebo se výraz nepodaří vyhodnotit, protože hodnota sloupce je nula, což vede k matematické operaci, která není platná.
Chyby obvykle spadají do jedné z následujících kategorií:
Chyby převodu dat, ke kterým dochází v případě, že převod způsobí ztrátu významných číslic, ztrátu nevýznamných číslic a zkrácení řetězců. K chybám převodu dat dochází také v případě, že požadovaný převod není podporován.
Chyby vyhodnocení výrazů, ke kterým dochází v případě, že výrazy vyhodnocené za běhu provádějí neplatné operace nebo jsou syntakticky nesprávné kvůli chybějícím nebo nesprávným datovým hodnotám.
Chyby vyhledávání, ke kterým dochází v případě, že vyhledávací operace nenajde shodu ve vyhledávací tabulce.
Seznam chyb, upozornění a dalších zpráv integračních služeb najdete v tématu Chyba a referenční informace ke službě Integration Services.
Použijte výstupy chyb k zachycení chyb na úrovni řádků
Mnoho komponent toku dat podporuje výstupy chyb, které umožňují řídit, jak komponenta zpracovává chyby na úrovni řádků v příchozích i odchozích datech. Určíte, jak se komponenta chová při zkrácení nebo chybě, nastavením možností pro jednotlivé sloupce ve vstupu nebo výstupu. Můžete například určit, že komponenta by měla selhat, pokud jsou data jména zákazníků zkrácena, ale ignorovat chyby v jiném sloupci, který obsahuje méně důležitá data.
Výstup s chybou lze připojit ke vstupu jiné transformace nebo načíst do jiného cíle než výstup bez chyby. Výstup chyby může být například připojený k transformaci odvozeného sloupce, která poskytuje řetězec pro sloupec, který je prázdný.
Následující diagram znázorňuje jednoduchý tok dat včetně výstupu chyby.
Další informace najdete v tématu Tok dat a cesty integračních služeb.
Dialogové okno pro konfiguraci výstupu chyb
Dialogové okno Konfigurovat výstup chyby slouží ke konfiguraci možností zpracování chyb pro transformace toku dat, které podporují výstup chyby.
Další informace o práci s výstupy chyb najdete v tématu Zpracování chyb v datech.
Možnosti
Vstup nebo výstup
Zobrazte název výstupu.
sloupce
Zobrazte výstupní sloupce, které jste vybrali v dialogovém okně editoru transformace.
Chyba
Pokud je to vhodné, specifikujte, co se má stát, když dojde k chybě: ignorujte chybu, přesměrujte řádek nebo nechte komponentu selhat.
Související témata:Zpracování chyb v datech
Zkrácení
Je-li to relevantní, určete, co se má stát, když dojde ke zkrácení: ignorujte selhání, přesměrujte řádek nebo selže komponenta.
Související témata:Zpracování chyb v datech
Popis
Zobrazte popis operace.
Nastavit tuto hodnotu pro vybrané buňky
Určete, co se má stát se všemi vybranými buňkami, když dojde k chybě nebo zkrácení: ignorujte selhání, přesměrujte řádek nebo nechte komponentu selhat.
Použít
Použití možnosti zpracování chyb u vybraných buněk
Chyby jsou buď selhání, nebo zkrácení
Chyby spadají do jedné ze dvou kategorií: chyby nebo zkrácení.
Chyby. Chyba značí selhání a vygeneruje výsledek NULL. Tyto chyby můžou zahrnovat chyby převodu dat nebo chyby vyhodnocení výrazů. Například pokus o převod řetězce, který obsahuje abecední znaky na číslo, způsobí chybu. Převody dat, vyhodnocení výrazů a přiřazení výsledků výrazů k proměnným, vlastnostem a datovým sloupcům můžou selhat kvůli neplatným přetypování a nekompatibilním datovým typům. Další informace viz Přetypování (SSIS výraz), Datové typy integračních služeb ve výrazech a Datové typy integračních služeb.
Zkrácení. Zkrácení je méně závažné než chyba. Zkrácení vygeneruje výsledky, které by mohly být použitelné nebo dokonce žádoucí. Můžete se rozhodnout zacházet s zkrácením jako s chybami nebo jako přijatelnými podmínkami. Pokud například vkládáte řetězec s 15 znaky do sloupce, který je široký jen o jeden znak, můžete se rozhodnout řetězec zkrátit.
Výběr možnosti zpracování chyb
Můžete nakonfigurovat, jak zdroje, transformace a cíle zpracovávají chyby a zkrácení. Následující tabulka popisuje tyto možnosti.
| Možnost | Popis |
|---|---|
| Poruchová komponenta | Úloha toku dat selže, když dojde k chybě nebo zkrácení. Selhání je výchozí možnost pro chybu a zkrácení. |
| Ignorovat selhání | Chyba nebo zkrácení se ignoruje a řádek dat se přesměruje na výstup transformace nebo zdroje. |
| Řádek přesměrování | Chyba nebo řádka dat s oříznutím se směruje na výstup chyby ze zdroje, při transformaci, nebo na cílové úrovni. |
Získání dalších informací o chybě
Kromě datových sloupců obsahuje výstup chyby sloupce ErrorCode a ErrorColumn . Sloupec ErrorCode identifikuje chybu a ErrorColumn obsahuje identifikátor rodokmenu sloupce chyby.
Za určitých okolností je hodnota sloupce ErrorColumn nastavena na nulu. K tomu dochází, když chybový stav ovlivní celý řádek místo jednoho sloupce. Příkladem může být situace, kdy selže vyhledávání v rámci transformace Vyhledávání.
Tyto dvě číselné hodnoty mohou mít omezenou užitečnost bez odpovídajícího popisu chyby a názvu sloupce. Tady je několik způsobů, jak získat popis chyby a název sloupce.
Popisy chyb i názvy sloupců můžete zobrazit připojením Prohlížeče dat k výstupu chyby. V nástroji SSIS Designer klikněte pravým tlačítkem myši na červenou šipku, která vede k chybovému výstupu, a vyberte Povolit prohlížeč dat.
Názvy sloupců můžete najít povolením protokolování a výběrem události DiagnosticEx . Tato událost zapíše do protokolu mapu sloupce toku dat. Název sloupce pak můžete vyhledat z jeho identifikátoru v této mapě sloupců. Všimněte si, že událost DiagnosticEx nezachová prázdné znaky ve výstupu XML, aby se snížila velikost protokolu. Pokud chcete zlepšit čitelnost, zkopírujte protokol do editoru XML, například do Visual Studio, který podporuje formátování XML a zvýraznění syntaxe. Další informace o protokolování najdete v tématu Protokolování služby SSIS (Integration Services).
Tady je příklad mapy sloupců toku dat.
\<DTS:PipelineColumnMap xmlns:DTS="www.microsoft.com/SqlServer/Dts"> \<DTS:Pipeline DTS:Path="\Package\Data Flow Task"> \<DTS:Column DTS:ID="11" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Output].Columns[Customer]"/> \<DTS:Column DTS:ID="12" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Output].Columns[Product]"/> \<DTS:Column DTS:ID="13" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Output].Columns[Price]"/> \<DTS:Column DTS:ID="14" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Output].Columns[Timestamp]"/> \<DTS:Column DTS:ID="20" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[Customer]"/> \<DTS:Column DTS:ID="21" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[Product]"/> \<DTS:Column DTS:ID="22" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[Price]"/> \<DTS:Column DTS:ID="23" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[Timestamp]"/> \<DTS:Column DTS:ID="24" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[ErrorCode]"/> \<DTS:Column DTS:ID="25" DTS:IdentificationString="ADO NET Source.Outputs[ADO NET Source Error Output].Columns[ErrorColumn]"/> \<DTS:Column DTS:ID="31" DTS:IdentificationString="Flat File Destination.Inputs[Flat File Destination Input].Columns[Customer]"/> \<DTS:Column DTS:ID="32" DTS:IdentificationString="Flat File Destination.Inputs[Flat File Destination Input].Columns[Product]"/> \<DTS:Column DTS:ID="33" DTS:IdentificationString="Flat File Destination.Inputs[Flat File Destination Input].Columns[Price]"/> \<DTS:Column DTS:ID="34" DTS:IdentificationString="Flat File Destination.Inputs[Flat File Destination Input].Columns[Timestamp]"/> \</DTS:Pipeline> \</DTS:PipelineColumnMap>Komponentu Script můžete také použít k zahrnutí popisu chyby a názvu sloupce do dalších sloupců výstupu chyby. Příklad najdete v tématu Vylepšení výstupu chyby pomocí komponenty skriptu.
Do dalšího sloupce zahrňte popis chyby pomocí jednoho řádku skriptu pro volání GetErrorDescription metody IDTSComponentMetaData100 rozhraní.
Do dalšího sloupce zahrňte název sloupce pomocí jednoho řádku skriptu pro volání metody IDTSComponentMetaData100 [Microsoft.SqlServer.Dts.Pipeline.Wrapper.IDTSComponentMetaData100.GetIdentificationStringByID*] (/previous-versions/sql/sql-server-2016/mt657629(v=sql.130)) rozhraní.
Komponentu Script můžete přidat do segmentu chyb toku dat kdekoli podřízené od komponent toku dat, jejichž chyby chcete zachytit. Komponentu Script obvykle umístíte těsně před chybové řádky, které se zapíšou do cíle. Tímto způsobem skript vyhledá popisy pouze pro řádky chyb, které jsou zapsané. Segment chyby toku dat může opravit některé chyby a nezapisovat tyto řádky do cíle chyby.
Viz také
toku dat
Transformace dat pomocí transformací
Propojení komponent pomocí cest
Úloha toku dat