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:
Ve volbě Získat Datavyberte možnost IBM Db2 databáze.
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, jeNORTHWD2
.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. Vyberte OK.
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.
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.
Ve navigátoruvyberte data, která potřebujete, a poté vyberte Načíst pro načtení dat nebo Transformovat data pro transformaci dat.
Připojení k databázi IBM Db2 z Power Query Online
Pokud chcete vytvořit připojení, proveďte následující kroky:
Na stránce Power Query – Připojení ke zdroji dat vyberte možnost databáze IBM Db2.
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, jeNORTHWD2
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.
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.
Zadejte svoje přihlašovací údaje.
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í.
Pokračujte výběrem Další.
V navigátoruvyberte data, která potřebujete, poté vyberte Transformovat data pro jejich transformaci v Editoru Power Query.
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.
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:
Na počítači otevřete Windows PowerShell.
Zadejte následující příkaz:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
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
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.
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>
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.
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.
UDĚLIT BINDADD NA DATABÁZI UŽIVATELI <authorization_name>.
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.
ODVOLAT oprávnění BINDADD NA DATABÁZI PRO UŽIVATELE <authorization_name>.
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.
WRKOBJ QSYS/CRTSQLPKG. Pokud chcete změnit autoritu objektu, zadejte 2.
Změnit autoritu z *EXCLUDE na PUBLIC nebo <authorization_name>.
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.
Následující snímek obrazovky ukazuje výstup tohoto příkazu ve Windows.
Určení názvu databáze
Určení názvu databáze, který se má použít:
Na IBM i, spusťte
DSPRDBDIRE
.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á:
Spusťte příkaz IBM i
WRKSRVTBLE
.Posuňte se dolů, dokud nenajdete položky pro DRDA.
položky tabulky služby
Pokud chcete ověřit, že je služba DRDA v provozu a naslouchá na daném portu, spusťte
NETSTAT
.Zvolte možnost 3 (pro protokol IPv4) nebo možnost 6 (pro protokol IPv6).
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".