Sdílet prostřednictvím


Databáze IBM Db2

Shrnutí

Položka Popis
Stav vydání Obecná dostupnost
Produkty Excel
Power BI (sémantické modely)
Power BI (Dataflows)
Datová infrastruktura (Dataflow Gen2)
Power Apps (datové toky)
Dynamics 365 Customer Insights
Podporované typy ověřování Základní
Databáze
Windows
Referenční dokumentace k funkcím databáze DB2

Poznámka

Některé funkce můžou být přítomné v jednom produktu, ale ne jiné kvůli plánům nasazení a možnostem specifickým pro hostitele.

Požadavky

Ve výchozím nastavení používá databázový konektor IBM Db2 ovladač Microsoftu k připojení k vašim datům. Pokud se rozhodnete použít ovladač IBM v rozšířených možnostech v Power Query Desktopu, musíte nejprve nainstalovat ovladač IBM Db2 pro .NET na počítač použitý pro připojení k datům. Název tohoto ovladače se mění od času do času, proto nezapomeňte nainstalovat ovladač IBM Db2, který funguje s .NET. Pokyny ke stažení, instalaci a konfiguraci ovladače IBM Db2 pro .NET najdete v tématu Stažení počátečních klientů a ovladačů verze 11.5. Další informace: omezení ovladačů , zajistit, aby byl ovladač IBM Db2 nainstalovaný

Podporované možnosti

  • Dovoz
  • DirectQuery (sémantické modely Power BI)
  • Pokročilé možnosti
    • Ovladač (IBM nebo Microsoft)
    • Časový limit příkazu v minutách
    • Kolekce balíčků
    • Příkaz SQL
    • Zahrnout sloupce relací
    • Navigace pomocí úplné hierarchie

Připojení k databázi IBM Db2 z Power Query Desktopu

Pokud chcete vytvořit připojení, proveďte následující kroky:

  1. Ve volbě Získat Datavyberte možnost IBM Db2 databáze.

  2. Zadejte server IBM Db2 pro připojení v Server. Pokud je port povinný, zadejte ho pomocí formátu ServerName:Port, kde Port je číslo portu. Zadejte také databázi IBM Db2, ke které chcete získat přístup v Database. V tomto příkladu se název serveru a port TestIBMDb2server.contoso.com:4000 a databáze IBM Db2, ke které se přistupuje, je NORTHWD2.

    Zadejte připojení databáze IBM Db2.

  3. Pokud se připojujete z Power BI Desktopu, vyberte režim připojení k datům buď Import nebo DirectQuery. Zbývající z těchto ukázkových kroků používají režim připojení k importu dat. Další informace o DirectQuery najdete v tématu Použití DirectQuery v Power BI Desktopu.

    Poznámka

    Ve výchozím nastavení používá dialogové okno databáze IBM Db2 ovladač Společnosti Microsoft při přihlášení. Chcete-li použít ovladač IBM, otevřete Rozšířené možnosti a vyberte IBM. Další informace: Připojit pomocí rozšířených možností

    Pokud jako režim připojení dat vyberete DirectQuery, příkaz SQL v rozšířených možnostech se zakáže. DirectQuery v současné době nepodporuje delegování dotazů na nativní databázový dotaz pro konektor IBM Db2.

  4. Vyberte OK.

  5. Pokud se k této databázi IBM Db2 připojujete poprvé, vyberte typ ověřování, který chcete použít, zadejte své přihlašovací údaje a pak vyberte Připojit. Další informace o ověřování najdete v tématu Ověřování pomocí zdroje dat.

    Zadejte přihlašovací údaje k databázi IBM Db2.

    Power Query se ve výchozím nastavení pokusí připojit k databázi IBM Db2 pomocí šifrovaného připojení. Pokud se Power Query nemůže připojit pomocí šifrovaného připojení, zobrazí se dialogové okno Nejde se připojit. Pokud se chcete připojit pomocí nešifrovaného připojení, vyberte OK.

    Dialogové okno Nelze se připojit

  6. Ve navigátoruvyberte data, která potřebujete, a poté vyberte Načíst pro načtení dat nebo Transformovat data pro transformaci dat.

    Vyberte data, která požadujete z databáze

Připojení k databázi IBM Db2 z Power Query Online

Pokud chcete vytvořit připojení, proveďte následující kroky:

  1. Na stránce Power Query – Připojení ke zdroji dat vyberte možnost databáze IBM Db2.

  2. Zadejte server IBM Db2 pro připojení v Server. Pokud je port povinný, zadejte ho pomocí formátu ServerName:Port, kde Port je číslo portu. Zadejte také databázi IBM Db2, ke které chcete získat přístup v Database. V tomto příkladu se název serveru a port TestIBMDb2server.contoso.com:4000 a databáze IBM Db2, ke které se přistupuje, je NORTHWD2

  3. Vyberte název místní brány dat.

    Poznámka

    Pro tento konektor musíte vybrat místní bránu dat bez ohledu na to, jestli je databáze IBM Db2 ve vaší místní síti nebo online.

  4. Pokud se k této databázi IBM Db2 připojujete poprvé, vyberte typ přihlašovacích údajů pro připojení v Druh ověřování. Pokud chcete místo ověřování systému Windows použít účet vytvořený v databázi IBM Db2, zvolte Basic.

  5. Zadejte svoje přihlašovací údaje.

  6. Vyberte Použít šifrované připojení, pokud chcete použít šifrované připojení, nebo zrušte zaškrtnutí políčka, pokud chcete použít nešifrované připojení.

    Zadejte online připojení databáze IBM Db2.

  7. Pokračujte výběrem Další.

  8. V navigátoruvyberte data, která potřebujete, poté vyberte Transformovat data pro jejich transformaci v Editoru Power Query.

    Vyberte data, která chcete v navigátoru transformovat,

Připojení pomocí rozšířených možností

Power Query poskytuje sadu rozšířených možností, které můžete v případě potřeby přidat do dotazu.

Rozšířené možnosti zahrnuté v dialogovém okně připojení databáze IBM Db2.

V následující tabulce jsou uvedeny všechny pokročilé možnosti, které můžete nastavit v Power Query.

Pokročilá volba Popis
Řidič Určuje, který ovladač se používá pro připojení k databázi IBM Db2. Volby jsou IBM a Windows (výchozí). Pokud vyberete ovladač IBM, musíte nejprve zajistit, aby byl na vašem počítači nainstalovaný ovladač IBM Db2 pro .NET. Tato možnost je dostupná jenom v Power Query Desktopu. Další informace: Zajištění instalace ovladače IBM Db2
Časový limit příkazu v minutách Pokud připojení trvá déle než 10 minut (výchozí časový limit), můžete zadat další hodnotu v minutách, aby bylo připojení otevřené déle.
Kolekce balíčků Určuje, kde hledat balíčky. Balíčky jsou řídicí struktury používané db2 při zpracování příkazu SQL a v případě potřeby se automaticky vytvoří. Ve výchozím nastavení tato možnost používá hodnotu NULLID. K dispozici pouze při použití ovladače Microsoftu. Další informace: balíčky DB2: Koncepty, příklady a běžné problémy
Příkaz SQL Informace najdete v tématu Import dat z databáze pomocí nativního databázového dotazu.
Zahrnout sloupce relací Pokud je tato možnost zaškrtnutá, obsahuje sloupce, které můžou mít relace s jinými tabulkami. Pokud je toto pole nezaškrtnuto, tyto sloupce se nezobrazí.
Navigace pomocí úplné hierarchie Pokud je tato možnost zaškrtnutá, navigátor zobrazí úplnou hierarchii tabulek v databázi, ke které se připojujete. Pokud je vymazáno, zobrazí se v navigátoru pouze tabulky, jejichž sloupce a řádky obsahují data.

Jakmile vyberete požadované pokročilé možnosti, vyberte OK v Power Query Desktopu nebo Další v Power Query Online a připojte se k databázi IBM Db2.

Problémy a omezení

Omezení ovladačů

Ovladač Microsoftu je stejný jako v systému Microsoft Host Integration Server, který se nazývá "ADO.NET Provider for DB2". Ovladač IBM je ovladač IBM Db/2, který funguje s .NET. Název tohoto ovladače se mění od času do času, proto se ujistěte, že je to ten, který funguje s .NET, který se liší od ovladačů IBM Db2, které pracují s OLE/DB, ODBC nebo JDBC.

Pokud používáte Power Query Desktop, můžete použít ovladač Microsoftu (výchozí) nebo ovladač IBM. Power Query Online v současné době používá pouze ovladač Microsoftu. Každý ovladač má svá omezení.

  • Ovladač Microsoftu
    • Podporuje protokol TLS (Transport Layer Security) pouze s verzí Power BI Desktopu nebo novější z prosince 2024.
  • Ovladač IBM
    • Databázový konektor IBM Db2 při použití ovladače IBM Db2 pro .NET nefunguje se systémy Mainframe ani IBM i.
    • Nepodporuje DirectQuery

Microsoft poskytuje podporu pro ovladač Microsoftu, ale ne pro ovladač IBM. Pokud už ho ale vaše IT oddělení na počítačích nastavovalo a nakonfigurovalo, mělo by it oddělení vědět, jak řešit potíže s ovladačem IBM.

Nativní dotazy nejsou v DirectQuery podporované

Když vyberete DirectQuery jako režim připojení dat v Power Query Desktopu, textové pole příkazu SQL v rozšířených možnostech je zakázané. Je zakázaná, protože konektor IBM Db2 pro Power Query v současné době nepodporuje nabízení dotazů nad nativní databázový dotaz.

Řešení problémů

Ujistěte se, že je nainstalovaný ovladač IBM Db2.

Pokud se rozhodnete použít ovladač IBM Db2 pro Power Query Desktop, musíte nejprve stáhnout, nainstalovat a nakonfigurovat ovladač na svém počítači. Aby se zajistilo, že je nainstalovaný ovladač IBM Db2:

  1. Na počítači otevřete Windows PowerShell.

  2. Zadejte následující příkaz:

    [System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv

  3. V dialogovém okně, které se otevře, by se ve sloupci InvariantName měl zobrazit následující název:

    IBM.Data.DB2

Pokud je tento název ve sloupci InvariantName, je ovladač IBM Db2 nainstalován a správně nakonfigurován.

Kódy chyb SQLCODE -805 a -551

Při pokusu o připojení k databázi IBM Db2 se někdy může zobrazit běžná chyba SQLCODE -805, která indikuje, že balíček není v nebo jiné kolekci (zadané v konfiguraci připojení balíčku Power Query ). Můžete také narazit na běžnou chybu SQLCODE -551, která značí, že nemůžete vytvářet balíčky, protože chybí autorita vazby balíčku.

Za -805 SQLCODE obvykle následuje SQLCODE -551, ale zobrazí se pouze druhá výjimka. Ve skutečnosti je problém stejný. Nemáte oprávnění k vytvoření vazby balíčku na NULLID nebo na zadanou kolekci.

Většina správců IBM Db2 neposkytuje oprávnění ke svazování balíčku koncovým uživatelům – zejména v prostředí IBM z/OS (mainframe) nebo IBM i (AS/400). Db2 v systémech Linux, Unix nebo Windows se liší v tom, že uživatelské účty mají ve výchozím nastavení svázaná oprávnění, která vytvoří balíček MSCS001 (Stability kurzoru) ve vlastní kolekci uživatele (jméno = přihlašovací jméno uživatele).

Pokud nemáte oprávnění k vazbě balíčku, budete muset požádat správce Db2 o oprávnění k vazbě balíčku. S tímto oprávněním pro vazbu balíčku se připojte k databázi a načtěte data, která balíček automaticky vytvoří. Správce pak může odvolat pravomoc ke svázání balíčků. Správce také může balíček "svázat" s jinými kolekcemi – zvýšit souběžnost, aby lépe odpovídal vašim interním standardům pro svázané balíčky atd.

Při připojování k IBM Db2 pro z/OS může správce Db2 provést následující kroky.

  1. Udělte uživateli oprávnění k vytvoření vazby nového balíčku jedním z následujících příkazů:

    • UDĚLIT BINDADD NA SYSTÉM PRO <authorization_name>
    • GRANT PACKADM ON <collection_name> TO <authorization_name>
  2. Pomocí Power Query se připojte k databázi IBM Db2 a načtěte seznam schémat, tabulek a zobrazení. Databázový konektor Power Query IBM Db2 automaticky vytvoří balíček NULLID.MSCS001 a poté udělí oprávnění k provedení balíčku veřejnosti.

  3. Odvolání autority pro vytvoření vazby nového balíčku s uživatelem pomocí jednoho z následujících příkazů:

    • ODVOLÁNÍ BINDADD Z <authorization_name>
    • ODVOLÁNÍ PACKADM ON <collection_name> FROM <authorization_name>

Při připojování k IBM Db2 pro Linux, Unix nebo Windows může správce Db2 provést následující kroky.

  1. UDĚLIT BINDADD NA DATABÁZI UŽIVATELI <authorization_name>.

  2. Pomocí Power Query se připojte k databázi IBM Db2 a načtěte seznam schémat, tabulek a zobrazení. Konektor Power Query IBM Db2 automaticky vytvoří balíček NULLID.MSCS001 a poté udělí veřejnosti právo spouštět balíček.

  3. ODVOLAT oprávnění BINDADD NA DATABÁZI PRO UŽIVATELE <authorization_name>.

  4. GRANT EXECUTE NA BALÍČEK <collection.package> UŽIVATELE <authorization_name>.

Při připojování k IBM Db2 for i může správce Db2 provést následující kroky.

  1. WRKOBJ QSYS/CRTSQLPKG. Pokud chcete změnit autoritu objektu, zadejte 2.

  2. Změnit autoritu z *EXCLUDE na PUBLIC nebo <authorization_name>.

  3. Potom změňte autoritu zpět na *EXCLUDE.

Kód chyby SQLCODE -360

Při pokusu o připojení k databázi IBM Db2 může dojít k následující chybě:

Microsoft Db2 Client: The host resource could not be found. Check that the Initial Catalog value matches the host resource name. SQLSTATE=HY000 SQLCODE=-360

Tato chybová zpráva značí, že jste neuložili správnou hodnotu pro název databáze.

Kód chyby SQLCODE -1336

The specified host could not be found.

Pečlivě zkontrolujte název a ověřte, že je hostitel dostupný. Použijte například příkaz ping v příkazovém řádku, abyste se pokusili připojit k serveru a zajistili, že je IP adresa správná, nebo ke komunikaci se serverem použijte telnet.

Kód chyby SQLCODE -1037

Host is reachable, but is not responding on the specified port.

Port se zadává na konci názvu serveru oddělené dvojtečku. Pokud tuto hodnotu vynecháte, použije se výchozí hodnota 50000.

Pokud chcete najít port Db2, který používá pro Systémy Linux, Unix a Windows, spusťte tento příkaz:

db2 get dbm cfg | findstr SVCENAME

Vyhledejte ve výstupu položku SVCENAME (a SSL_SVCENAME pro šifrovaná připojení TLS). Pokud je tato hodnota číslo, jedná se o port. V opačném případě prověřte hodnotu s tabulkou "služby" systému. Obvykle ho najdete na adrese /etc/services nebo v c:\windows\system32\drivers\etc\services pro Windows.

Následující snímek obrazovky ukazuje výstup tohoto příkazu v systému Linux/Unix.

Obrázek s výstupem příkazu db2 v Linux a Unix

Následující snímek obrazovky ukazuje výstup tohoto příkazu ve Windows.

Image s výstupem příkazu db2 ve Windows

Určení názvu databáze

Určení názvu databáze, který se má použít:

  1. Na IBM i, spusťte DSPRDBDIRE.

    Obrázek znázorňující výstup z procesu Zobrazení položek adresáře relační databáze

  2. Jedna z položek bude mít vzdálené umístění *LOCAL. Tato položka je ta, která se má použít.

Určení čísla portu

Ovladač Microsoftu se připojí k databázi pomocí protokolu DRDA (Distributed Relational Database Architecture). Výchozí port pro DRDA je port 446. Zkuste tuto hodnotu nejprve.

Pokud chcete zjistit, na jakém portu je služba DRDA spuštěná:

  1. Spusťte příkaz IBM i WRKSRVTBLE.

  2. Posuňte se dolů, dokud nenajdete položky pro DRDA.

    položky tabulky služby

  3. Pokud chcete ověřit, že je služba DRDA v provozu a naslouchá na daném portu, spusťte NETSTAT.

    DRDA naslouchání

  4. Zvolte možnost 3 (pro protokol IPv4) nebo možnost 6 (pro protokol IPv6).

  5. Stisknutím klávesy F14 zobrazíte čísla portů místo názvů a posunete se, dokud příslušný port neuvidíte. Měla by mít položku se stavem "Listen".

    stav připojení IP

Další informace