Sdílet prostřednictvím


Zdroj OLE DB

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Zdroj OLE DB extrahuje data z různých relačních databází kompatibilních s OLE DB pomocí databázové tabulky, zobrazení nebo příkazu SQL. Zdroj OLE DB může například extrahovat data z tabulek v databázích Microsoft Office Access nebo SQL Server.

Poznámka:

Pokud je zdrojem dat Microsoft Office Excel 2007, vyžaduje zdroj dat jiný správce připojení než starší verze Aplikace Excel. Další informace naleznete v tématu Připojení k excelovém sešitu.

Zdroj OLE DB poskytuje čtyři různé režimy přístupu k datům pro extrakci dat:

  • Tabulka nebo zobrazení

  • Tabulka nebo zobrazení zadané v proměnné

  • Výsledky příkazu SQL Dotaz může být parametrizovaný dotaz.

  • Výsledky příkazu SQL uloženého v proměnné

Poznámka:

Když použijete příkaz SQL k vyvolání uložené procedury, která vrací výsledky z dočasné tabulky, použijte možnost WITH RESULT SETS definovat metadata pro sadu výsledků.

Pokud použijete parametrizovaný dotaz, můžete namapovat proměnné na parametry a určit hodnoty pro jednotlivé parametry v příkazech SQL.

Tento zdroj používá správce připojení OLE DB pro připojení ke zdroji dat a správce připojení určuje zprostředkovatele OLE DB, který se má použít. Další informace naleznete v tématu OLE DB Connection Manager.

Projekt Integrační služby také poskytuje objekt zdroje dat, ze kterého můžete vytvořit správce připojení OLE DB, aby byly zdroje dat a zobrazení zdrojů dat dostupné pro zdroj OLE DB.

V závislosti na zprostředkovateli OLE DB platí některá omezení pro zdroj OLE DB:

  • Zprostředkovatel Microsoft OLE DB pro Oracle nepodporuje datové typy Oracle BLOB, CLOB, NCLOB, BFILE, OR UROWID a zdroj OLE DB nemůže extrahovat data z tabulek, které obsahují sloupce s těmito datovými typy.

  • Zprostředkovatel IBM OLE DB2 a zprostředkovatel Microsoft OLE DB2 nepodporují použití příkazu SQL, který volá uloženou proceduru. Při použití tohoto typu příkazu nemůže zdroj OLE DB vytvořit metadata sloupce a v důsledku toho komponenty toku dat, které následují za zdrojem OLE DB v toku dat, nemají k dispozici žádná data sloupců a spuštění toku dat selže.

Zdroj OLE DB má jeden běžný výstup a jeden výstup chyby.

Použití parametrizovaných příkazů SQL

Zdroj OLE DB může k extrakci dat použít příkaz SQL. Příkazem může být příkaz SELECT nebo EXEC.

Zdroj OLE DB používá správce připojení OLE DB pro připojení ke zdroji dat, ze kterého extrahuje data. V závislosti na poskytovateli, který správce připojení OLE DB používá, a relační systém pro správu databází (RDBMS), ke kterému se správce připojení připojuje, se na pojmenování a výpis parametrů vztahují různá pravidla. Pokud se názvy parametrů vrátí z RDBMS, můžete použít názvy parametrů k mapování parametrů v seznamu parametrů na parametry v příkazu SQL; v opačném případě jsou parametry mapovány na parametr v příkazu SQL podle jejich pořadové pozice v seznamu parametrů. Typy názvů parametrů, které jsou podporovány, se liší podle poskytovatele. Někteří poskytovatelé například vyžadují, abyste použili názvy proměnných nebo sloupců, zatímco někteří zprostředkovatelé vyžadují, abyste použili symbolické názvy, například 0 nebo Param0. Měli byste se podívat na dokumentaci specifickou pro poskytovatele pro informace o názvech parametrů, které se mají použít v příkazech SQL.

Pokud používáte správce připojení OLE DB, nelze použít parametrizované poddotazy, protože zdroj OLE DB nemůže odvodit informace o parametrech prostřednictvím zprostředkovatele OLE DB. Pomocí výrazu však můžete zřetězit hodnoty parametrů do řetězce dotazu a nastavit vlastnost SqlCommand zdroje. V nástroji SSIS Designer nakonfigurujete zdroj OLE DB pomocí dialogového okna Editor zdroje OLE DB a namapujete parametry na proměnné v dialogovém okně Nastavit parametr dotazu.

Určení parametrů pomocí řadových pozic

Pokud se nevrátí žádné názvy parametrů, pořadí, ve kterém jsou parametry uvedeny v seznamu Parametry v dialogovém okně Nastavit parametr dotazu, určuje, ke kterému značkovači parametrů se mapují za běhu. První parametr v seznamu se mapuje na první "?" v příkazu SQL, druhé až druhé ?, a tak dále.

Následující příkaz SQL vybere řádky z tabulky Product v AdventureWorks2025 databázi. První parametr v seznamu Mapování se mapuje na první parametr sloupce Color, zatímco druhý parametr se mapuje na parametr sloupce Velikost.

SELECT * FROM Production.Product WHERE Color = ? AND Size = ?

Názvy parametrů nemají žádný vliv. Pokud je například parametr pojmenován stejně jako sloupec, na který se vztahuje, ale ne do správné řadové pozice v seznamu Parametry , mapování parametrů, ke kterému dochází za běhu, použije pořadové umístění parametru, nikoli název parametru.

Příkaz EXEC obvykle vyžaduje použití názvů proměnných, které poskytují hodnoty parametrů v postupu jako názvy parametrů.

Zadání parametrů pomocí názvů

Pokud jsou skutečné názvy parametrů vráceny z RDBMS, parametry používané příkazem SELECT a EXEC jsou mapovány podle názvu. Názvy parametrů musí odpovídat názvům uložených procedur, které spouští příkaz SELECT nebo příkaz EXEC, očekává.

Následující příkaz SQL spustí uloženou proceduru uspGetWhereUsedProductID dostupnou AdventureWorks2025 v databázi.

EXEC uspGetWhereUsedProductID ?, ?

Uložená procedura vyžaduje, aby proměnné @StartProductID a @CheckDate poskytly hodnoty parametrů. Pořadí, ve kterém se parametry zobrazují v seznamu Mapování , je irelevantní. Jediným požadavkem je, aby názvy parametrů odpovídaly názvům proměnných v uložené proceduře, včetně znaku @.

Mapování parametrů na proměnné

Parametry se mapují na proměnné, které poskytují hodnoty parametrů za běhu. Proměnné jsou obvykle uživatelsky definované proměnné, i když můžete také použít systémové proměnné, které integrační služby poskytují. Pokud používáte uživatelem definované proměnné, ujistěte se, že jste datový typ nastavili na typ, který je kompatibilní s datovým typem sloupce, na který mapovaný parametr odkazuje. Další informace najdete v tématu Proměnné služby SSIS (Integration Services).

Řešení potíží se zdrojem OLE DB

Můžete protokolovat volání, která zdroj OLE DB provádí pro externí zprostředkovatele dat. Tuto funkci protokolování můžete použít k řešení potíží s načítáním dat z externích zdrojů dat, které provádí zdroj OLE DB. Chcete-li protokolovat volání, která zdroj OLE DB provádí pro externí zprostředkovatele dat, povolte protokolování balíčku a vyberte diagnostickou událost na úrovni balíčku. Další informace naleznete v tématu Nástroje pro řešení potíží pro spuštění balíčku.

Konfigurace zdroje OLE DB

Vlastnosti můžete nastavit programově nebo prostřednictvím návrháře SSIS.

Dialogové okno Rozšířený editor odráží vlastnosti, které lze nastavit programově. Další informace o vlastnostech, které můžete nastavit v dialogovém okně Rozšířený editor nebo programově, klikněte na jedno z následujících témat:

SSIS pomocí konektorů Oracle

Editor zdrojového kódu OLE DB (stránka Správce připojení)

Pomocí stránky Správce připojení v dialogovém okně Editor zdrojového kódu OLE DB vyberte správce připojení OLE DB pro zdroj. Na této stránce můžete také vybrat tabulku nebo zobrazení z databáze.

Poznámka:

Chcete-li načíst data ze zdroje dat, který používá aplikaci Microsoft Office Excel 2007, použijte zdroj OLE DB. Zdroj aplikace Excel nelze použít k načtení dat ze zdroje dat aplikace Excel 2007. Další informace naleznete v tématu Konfigurace správce připojení OLE DB.

Chcete-li načíst data ze zdroje dat, který používá aplikaci Microsoft Office Excel 2003 nebo starší, použijte zdroj aplikace Excel. Další informace najdete v tématu Editor zdrojů Excelu (stránka Správce připojení).

Poznámka:

Vlastnost CommandTimeout zdroje OLE DB není k dispozici ve zdrojovém editoru OLE DB, ale lze ji nastavit pomocí rozšířeného editoru. Další informace o této vlastnosti naleznete v části vlastnosti OLE DB – Excel Source.

Otevření editoru zdrojového kódu OLE DB (stránka Správce připojení)

  1. Přidejte zdroj OLE DB do balíčku Integrační služby v nástrojích SQL Server Data Tools (SSDT).

  2. Klikněte pravým tlačítkem myši na zdrojovou komponentu a po kliknutí na Upravit.

  3. Klikněte na Správce připojení.

Statické možnosti

Správce připojení OLE DB
V seznamu vyberte existujícího správce připojení nebo kliknutím na Nový vytvořte nové připojení.

Nový
Pomocí dialogového okna Konfigurovat správce připojení OLE DB vytvořte nového správce připojení.

režim přístupu k datům
Zadejte metodu pro výběr dat ze zdroje.

Možnost Popis
Tabulka nebo zobrazení Načtěte data z tabulky nebo zobrazení ve zdroji dat OLE DB.
Název tabulky nebo proměnná názvu zobrazení Zadejte název tabulky nebo zobrazení v proměnné.

Související informace:Použití proměnných v balíčcích
Příkaz SQL Načtěte data ze zdroje dat OLE DB pomocí dotazu SQL.
Příkaz SQL z proměnné Zadejte text dotazu SQL v proměnné.

Náhled
Pomocí dialogového okna Zobrazení dat si zobrazíte náhled výsledků. Náhled může zobrazit až 200 řádků.

Poznámka:

Při zobrazení náhledu dat sloupce s uživatelem definovaným typem CLR neobsahují data. Místo toho je hodnota hodnot <příliš velká pro zobrazení> nebo zobrazení System.Byte[]. První se zobrazí při přístupu ke zdroji dat pomocí zprostředkovatele SQL OLE DB, druhý při použití zprostředkovatele nativního klienta SYSTÉMU SQL Server.

Dynamické možnosti režimu přístupu k datům

Režim přístupu k datům = Tabulka nebo zobrazení

Název tabulky nebo zobrazení
Ze seznamu dostupných ve zdroji dat vyberte název tabulky nebo zobrazení.

Režim přístupu k datům = Název tabulky nebo proměnná názvu zobrazení

název proměnné
Vyberte proměnnou, která obsahuje název tabulky nebo zobrazení.

Režim přístupu k datům = příkaz SQL

Text příkazu SQL
Zadejte text dotazu SQL, sestavte dotaz kliknutím na příkaz Sestavit dotaz nebo vyhledejte soubor obsahující text dotazu kliknutím na Procházet.

Parametry
Pokud jste zadali parametrizovaný dotaz pomocí ? jako zástupný symbol parametru v textu dotazu použijte dialogové okno Nastavit parametry dotazu k mapování vstupních parametrů dotazu na proměnné balíčku.

Sestavit dotaz
Pomocí dialogového okna Tvůrce dotazů můžete vizuálně sestavit dotaz SQL.

Procházet
Pomocí dialogového okna Otevřít vyhledejte soubor, který obsahuje text dotazu SQL.

Analyzovat dotaz
Ověřte syntaxi textu dotazu.

Režim přístupu k datům = příkaz SQL z proměnné

název proměnné
Vyberte proměnnou, která obsahuje text dotazu SQL.

Editor zdrojového kódu OLE DB (stránka sloupců)

Stránka Sloupce v dialogovém okně Editoru zdrojového kódu OLE DB slouží k mapování výstupního sloupce na každý externí (zdrojový) sloupec.

Možnosti

Dostupné externí sloupce
Zobrazí seznam dostupných externích sloupců ve zdroji dat. Tuto tabulku nelze použít k přidání nebo odstranění sloupců.

externí sloupec
Zobrazte externí (zdrojové) sloupce v pořadí, ve kterém je uvidíte při konfiguraci komponent, které využívají data z tohoto zdroje. Toto pořadí můžete změnit tak, že nejprve vymažete vybrané sloupce v tabulce a pak vyberete externí sloupce ze seznamu v jiném pořadí.

Výstupní sloupec
Zadejte jedinečný název pro každý výstupní sloupec. Výchozí hodnota je název vybraného externího (zdrojového) sloupce; můžete ale zvolit libovolný jedinečný popisný název. Zadaný název se zobrazí v návrháři SSIS.

Editor zdrojového kódu OLE DB (stránka výstupu chyby)

Stránka Výstup chyby v dialogovém okně Editoru zdrojového kódu OLE DB slouží k výběru možností zpracování chyb a nastavení vlastností u výstupních sloupců chyb.

Možnosti

vstupní/výstupní
Zobrazí název zdroje dat.

sloupce
Zobrazte externí (zdrojové) sloupce, které jste vybrali na stránce Správce připojení v dialogovém okně Editor zdrojového kódu OLE DB .

Chyba
Určete, co se má stát, když dojde k chybě: ignorování selhání, přesměrování řádku nebo selhání komponenty.

Související témata:Zpracování chyb v datech

Zkrácení
Určete, co se má stát, když dojde ke zkrácení: ignorovat selhání, přesměrovat řádek nebo nechat komponentu selhat.

Popis
Zobrazte popis chyby.

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

Viz také

Cíl OLE DB
Proměnné integračních služeb (SSIS)
toku dat