Megosztás a következőn keresztül:


IBM Db2-adatbázis

Összefoglalás

Cikk Leírás
Kiadási állapot Általános rendelkezésre állás
Termékek Excel
Power BI (Szemantikai modellek)
Power BI (Adatfolyamok)
Háló (Adatfolyam Gen2)
Power Apps (Adatfolyamok)
Dynamics 365 Customer Insights
Támogatott hitelesítési típusok Alapvető
Adatbázis
Windows
Függvényreferenciák dokumentációja DB2. Adatbázis-

Jegyzet

Egyes képességek jelen lehetnek egy termékben, mások viszont hiányozhatnak az üzembehelyezési ütemezések és a gazdagépspecifikus képességek miatt.

Előfeltételek

Alapértelmezés szerint az IBM Db2 adatbázis-összekötő a Microsoft-illesztőprogramot használja az adatokhoz való csatlakozáshoz. Ha úgy dönt, hogy az IBM-illesztőt a Power Query Desktop speciális beállításai között használja, először telepítenie kell a .NET-hez készült IBM DB2-illesztőt az adatokhoz való csatlakozáshoz használt gépen. Ennek az illesztőprogramnak a neve időről időre változik, ezért mindenképpen telepítse a .NET-tel működő IBM Db2-illesztőt. A .NET-hez készült IBM Db2-illesztőprogram letöltésével, telepítésével és konfigurálásával kapcsolatos útmutatásért látogasson el a Verzió 11.5 kezdeti kliensek és illesztőprogramok letöltéseoldalra. További információ: illesztőprogramokra vonatkozó korlátozások, Győződjön meg arról, hogy az IBM Db2 illesztőprogram telepítve van

Támogatott képességek

  • Importál
  • DirectQuery (Power BI szemantikai modellek)
  • Speciális beállítások
    • Illesztőprogram (IBM vagy Microsoft)
    • A parancs időkorlátja percekben
    • Csomaggyűjtemény
    • SQL-utasítás
    • Kapcsolatoszlopok belefoglalása
    • Navigálás teljes hierarchia használatával

Csatlakozás IBM Db2-adatbázishoz a Power Query Desktopból

A kapcsolat létrehozásához hajtsa végre a következő lépéseket:

  1. Válassza az Adatok lekérésealól az IBM Db2 adatbázis lehetőséget.

  2. Adja meg azt az IBM Db2-kiszolgálót, amelyhez csatlakozni szeretne Kiszolgáló. Ha portra van szükség, adja meg a ServerName:Portformátummal, ahol Port a portszám. Adja meg azt az IBM Db2-adatbázist is, amelyhez hozzá szeretne férni Adatbázis. Ebben a példában a kiszolgáló neve és portja TestIBMDb2server.contoso.com:4000, a hozzáférő IBM Db2-adatbázis pedig NORTHWD2.

    Írja be az IBM Db2 adatbázis-kapcsolatot.

  3. Ha a Power BI Desktopból csatlakozik, válassza az Importálás vagy DirectQuery adatkapcsolati módot. A példa további lépései az Adatkapcsolat importálása módot használják. A DirectQueryről további információt a A DirectQuery használata a Power BI Desktopbancímű témakörben olvashat.

    Jegyzet

    Alapértelmezés szerint az IBM Db2 adatbázis párbeszédpanel a Microsoft-illesztőprogramot használja a bejelentkezés során. Ha az IBM-illesztőt szeretné használni, nyissa meg Speciális beállítások, és válassza IBMlehetőséget. További információ: Csatlakozás speciális beállításokkal

    Ha DirectQuery választja adatkapcsolati módként, a speciális beállításokban SQL-utasítás le lesz tiltva. A DirectQuery jelenleg nem támogatja a lekérdezések leküldését az IBM Db2-összekötő natív adatbázis-lekérdezésére.

  4. Válassza OKlehetőséget.

  5. Ha először csatlakozik ehhez az IBM Db2-adatbázishoz, válassza ki a használni kívánt hitelesítési típust, adja meg a hitelesítő adatait, majd válassza a Csatlakozáslehetőséget. A hitelesítéssel kapcsolatos további információkért látogasson el az "Adatforrással való hitelesítés" című oldalra .

    Adja meg az IBM Db2 adatbázis hitelesítő adatait.

    A Power Query alapértelmezés szerint titkosított kapcsolattal próbál csatlakozni az IBM Db2-adatbázishoz. Ha a Power Query nem tud titkosított kapcsolattal csatlakozni, megjelenik egy "nem lehet csatlakozni" párbeszédpanel. Titkosítatlan kapcsolattal való csatlakozáshoz válassza OKlehetőséget.

    Nem lehet csatlakozni párbeszédpanelhez

  6. A Navigator-ben válassza ki a szükséges adatokat, majd válassza a Betöltés opciót az adatok betöltéséhez, vagy a Adatok átalakítása lehetőséget az adatok átalakításához.

    Válassza ki a szükséges adatokat az adatbázisból

Csatlakozás IBM Db2-adatbázishoz a Power Query Online-ból

A kapcsolat létrehozásához hajtsa végre a következő lépéseket:

  1. Válassza az IBM Db2 adatbázis lehetőséget a Power Query – Csatlakozás adatforráshoz lapon.

  2. Adja meg azt az IBM Db2-kiszolgálót, amelyhez csatlakozni szeretne Kiszolgáló. Ha portra van szükség, adja meg a ServerName:Portformátummal, ahol Port a portszám. Adja meg azt az IBM Db2-adatbázist is, amelyhez hozzá szeretne férni Adatbázis. Ebben a példában a kiszolgáló neve és portja TestIBMDb2server.contoso.com:4000, a hozzáférő IBM Db2-adatbázis pedig NORTHWD2

  3. Válassza ki a helyszíni adatátjáró nevét.

    Jegyzet

    Ehhez az összekötőhöz ki kell választania egy helyszíni adatátjárót, függetlenül attól, hogy az IBM Db2-adatbázis a helyi hálózaton vagy online van-e.

  4. Ha először csatlakozik ehhez az IBM Db2-adatbázishoz, válassza ki a kapcsolat hitelesítő adatainak típusát Hitelesítési típusú. Válassza az Alapszintű lehetőséget, ha Windows-hitelesítés helyett az IBM Db2-adatbázisban létrehozott fiókot szeretné használni.

  5. Adja meg a hitelesítő adatait.

  6. Válassza Titkosított kapcsolat használata lehetőséget, ha titkosított kapcsolatot szeretne használni, vagy törölje a jelet a lehetőségből, ha titkosítatlan kapcsolatot szeretne használni.

    Adja meg az IBM Db2-adatbázis online kapcsolatát.

  7. A folytatáshoz válassza Tovább lehetőséget.

  8. A Navigátorválassza ki a szükséges adatokat, majd válassza a Adatok átalakítása lehetőséget az adatok Power Query-szerkesztőben történő átalakításához.

    Válassza ki az átalakítani kívánt adatokat a Navigátorban

Csatlakozás speciális beállításokkal

A Power Query speciális beállításokat biztosít, amelyeket szükség esetén hozzáadhat a lekérdezéshez.

Speciális beállítások az IBM Db2 adatbázis-kapcsolat párbeszédpanelen.

Az alábbi táblázat felsorolja a Power Queryben megadható összes speciális beállítást.

Haladó beállítás Leírás
Sofőr Meghatározza, hogy melyik illesztőprogramot használja az IBM Db2-adatbázishoz való csatlakozáshoz. A lehetőségek az IBM és a Windows (alapértelmezett). Ha az IBM-illesztőt választja, először győződjön meg arról, hogy a .NET-hez készült IBM Db2 illesztőprogram telepítve van a gépen. Ez a beállítás csak a Power Query Desktopban érhető el. További információ: Győződjön meg arról, hogy az IBM Db2 illesztőprogram telepítve van
A parancs időkorlátja percekben Ha a kapcsolat 10 percnél hosszabb ideig tart (az alapértelmezett időtúllépés), a kapcsolat hosszabb nyitva tartása érdekében percek alatt megadhat egy másik értéket.
Csomaggyűjtemény Meghatározza a csomagok keresésének helyét. A csomagok olyan vezérlőstruktúrák, amelyeket a Db2 használ egy SQL-utasítás feldolgozásakor, és szükség esetén automatikusan létrejönnek. Ez a beállítás alapértelmezés szerint a NULLIDértéket használja. Csak a Microsoft-illesztőprogram használatakor érhető el. További információ: DB2-csomagok: Fogalmak, példák és gyakori problémák
SQL-utasítás További információ: Adatok importálása adatbázisból natív adatbázis-lekérdezéshasználatával.
Kapcsolatoszlopok belefoglalása Ha be van jelölve, olyan oszlopokat is tartalmaz, amelyek más táblákhoz is tartozhatnak. Ha ez a mező ki van jelölve, akkor ezek az oszlopok nem jelennek meg.
Navigálás teljes hierarchia használatával Ha be van jelölve, a kezelő megjeleníti a táblák teljes hierarchiáját abban az adatbázisban, amelyhez csatlakozik. Ha nincs bejelölve, a kezelő csak azokat a táblákat jeleníti meg, amelyek oszlopai és sorai adatokat tartalmaznak.

Miután kiválasztotta a speciális beállításokat, válassza az OK a Power Query Desktopban vagy Következő a Power Query Online-ban az IBM Db2-adatbázishoz való csatlakozáshoz.

Problémák és korlátozások

Illesztőprogramok korlátozásai

A Microsoft-illesztőprogram ugyanaz, mint amelyet a Microsoft Host Integration Serverben használnak, és "ADO.NET Provider for DB2" néven ismert. Az IBM-illesztő az IBM Db/2 illesztőprogram, amely a .NET-tel működik. Ennek az illesztőprogramnak a neve időről időre változik, ezért győződjön meg arról, hogy ez az, amely a .NET-tel működik, ami eltér az OLE/DB, ODBC vagy JDBC-vel dolgozó IBM Db2 illesztőprogramoktól.

Ha a Power Query Desktopot használja, a Microsoft illesztőprogramját (alapértelmezett) vagy az IBM-illesztőt is használhatja. A Power Query Online jelenleg csak a Microsoft-illesztőprogramot használja. Minden illesztőprogramnak megvannak a maga korlátai.

  • Microsoft-illesztőprogram
    • A Transport Layer Security (TLS) csak a Power BI Desktop 2024. decemberi vagy újabb kiadásával támogatott
  • IBM-illesztőprogram
    • Az IBM Db2 adatbázis-összekötő a .NET-hez készült IBM Db2-illesztő használatakor nem működik a Mainframe vagy az IBM i rendszerekkel
    • Nem támogatja a DirectQueryt

A Microsoft támogatja a Microsoft-illesztőprogramot, az IBM-illesztőprogramot azonban nem. Ha azonban az informatikai részleg már beállította és konfigurálta a gépein, az informatikai részlegnek tudnia kell, hogyan háríthatja el az IBM-illesztőprogramot.

A natív lekérdezések nem támogatottak a DirectQueryben

Ha a DirectQueryt választja adatkapcsolati módként a Power Query Desktopban, a speciális beállításokban lévő SQL-utasítás szövegmezője le lesz tiltva. Ez le van tiltva, mert a Power Query IBM Db2-összekötője jelenleg nem támogatja a lekérdezések natív adatbázis-lekérdezésre való leküldését.

Hibaelhárítás

Győződjön meg arról, hogy az IBM Db2 illesztőprogram telepítve van

Ha úgy dönt, hogy az IBM Db2 illesztőprogramot használja a Power Query Desktophoz, először le kell töltenie, telepítenie és konfigurálnia kell az illesztőprogramot a gépére. Annak érdekében, hogy az IBM Db2 illesztőprogram telepítve legyen:

  1. Nyissa meg a Windows PowerShellt a számítógépen.

  2. Adja meg a következő parancsot:

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

  3. A megnyíló párbeszédpanelen a következő névnek kell megjelennie az InvariantName oszlopban:

    IBM.Data.DB2

Ha ez a név az InvariantName oszlopban található, az IBM Db2 illesztőprogram megfelelően lett telepítve és konfigurálva.

SQLCODE -805 és SQLCODE -551 hibakódok

Amikor egy IBM Db2-adatbázishoz próbál csatlakozni, előfordulhat, hogy az SQLCODE -805 gyakori hibát tapasztal, amely azt jelzi, hogy a csomag nem található a NULLID vagy más gyűjteményben (a Power Query csomagkapcsolat konfigurációjában). Előfordulhat az SQLCODE -551 gyakori hibája is, amely azt jelzi, hogy nem hozhat létre csomagokat, mert nincs csomagkötési jogosultsága.

Az SQLCODE -805 általában az SQLCODE -551 követi, de csak a második kivétel jelenik meg. A valóságban a probléma ugyanaz. Nincs jogosultsága arra, hogy a csomagot a NULLID vagy a megadott gyűjteményhez kösse.

A legtöbb IBM DB2-rendszergazda általában nem biztosít kötéscsomag-szolgáltatót a végfelhasználóknak– különösen IBM z/OS (nagyszámítógép) vagy IBM i (AS/400) környezetben. A Linuxon, Unixon vagy Windowson futó DB2 abban különbözik, hogy a felhasználói fiókok alapértelmezés szerint kötési jogosultságokkal rendelkeznek, amelyek létrehozzák a MSCS001 (Kurzor stabilitása) csomagot a felhasználó saját gyűjteményében (név = felhasználónév).

Ha nem rendelkezik csomagkötési jogosultságokkal, meg kell kérnie a Db2 rendszergazdájától a csomagkötési jogosultságot. Ezzel a csomagkötési szolgáltatóval csatlakozzon az adatbázishoz, és kérje le az adatokat, amely automatikusan létrehozza a csomagot. Ezt követően a rendszergazda visszavonhatja a csomagolási kötési jogosultságot. Ezt követően a rendszergazda más gyűjteményekhez is "kötheti" a csomagot – az egyidejűség növelése érdekében, hogy jobban megfeleljen a csomagok kötésére vonatkozó belső szabványoknak, és így tovább.

A z/OS-hez készült IBM Db2-hez való csatlakozáskor a Db2 rendszergazdája elvégezheti az alábbi lépéseket.

  1. Adjon engedélyt, hogy egy új csomagot a felhasználóhoz kössön az alábbi parancsok egyikével:

    • BINDADD ENGEDÉLYEZÉSE A RENDSZEREN <AUTHORIZATION_NAME>
    • ADJON PACKADM HOZZÁFÉRÉST a(z) <collection_name> részére <authorization_name>
  2. A Power Query használatával csatlakozzon az IBM Db2-adatbázishoz, és kérje le a sémák, táblák és nézetek listáját. A Power Query IBM Db2 adatbázis-összekötője automatikusan létrehozza a NULLID.MSCS001 csomagot, majd megadja a csomag végrehajtási jogát a nyilvánosságnak.

  3. Az új csomag felhasználóhoz való kötésére vonatkozó jogosultság visszavonása az alábbi parancsok egyikével:

    • BINDADD VISSZAVONÁSA <AUTHORIZATION_NAME>
    • REVOKE PACKADM ON <collection_name> FROM <authorization_name>

Amikor linuxos, Unix vagy Windows rendszerű IBM Db2-hez csatlakozik, a Db2 rendszergazdája az alábbi lépéseket hajthatja végre.

  1. A BINDADD JOGOSULTSÁG MEGADÁSA AZ ADATBÁZISRA A USER <AUTHORIZATION_NAME>SZÁMÁRA.

  2. A Power Query használatával csatlakozzon az IBM Db2-adatbázishoz, és kérje le a sémák, táblák és nézetek listáját. A Power Query IBM Db2-összekötő automatikusan létrehozza a NULLID.MSCS001 csomagot, majd végrehajtási jogot ad a csomagra a nyilvánosságnak.

  3. REVOKE BINDADD AZ ADATBÁZISON A FELHASZNÁLÓ <JOGOSULTSÁGÁT>.

  4. ENGEDÉLYEZÉS VÉGREHAJTÁST A CSOMAGBAN <collection.package> FELHASZNÁLÓNAK <authorization_name>.

Amikor a Db2 rendszergazdája csatlakozik az IBM Db2 for i-hez, elvégezheti az alábbi lépéseket.

  1. WRKOBJ QSYS/CRTSQLPKG. Írja be a "2"-t az objektre vonatkozó jogosultság módosításához.

  2. Módosítsa a jogosultságot a *KIZÁRÁS értékről NYILVÁNOS vagy <authorization_name>értékre.

  3. Ezután módosítsa a jogosultságot vissza *EXCLUDE-ra.

SQLCODE -360 hibakód

Amikor megpróbál csatlakozni az IBM Db2-adatbázishoz, a következő hibaüzenet jelenhet meg:

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

Ez a hibaüzenet azt jelzi, hogy nem adta meg a megfelelő értéket az adatbázis nevére vonatkozóan.

SQLCODE -1336 hibakód

The specified host could not be found.

Ellenőrizze alaposan a nevet, és győződjön meg arról, hogy a gazdagép elérhető. Egy parancssorban például pingelési használatával próbálja meg elérni a kiszolgálót, és ellenőrizze, hogy az IP-cím helyes-e, vagy használja telnet a kiszolgálóval való kommunikációhoz.

SQLCODE -1037 hibakód

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

A port a kiszolgálónév végén van megadva, kettősponttal elválasztva. Ha nincs megadva, a rendszer az alapértelmezett 50000 értéket használja.

A Linuxhoz, Unixhoz és Windowshoz használt DB2 port megkereséséhez futtassa a következő parancsot:

db2 get dbm cfg | findstr SVCENAME

Keresse a kimenetben az SVCENAME bejegyzést (és az SSL_SVCENAME bejegyzést TLS-titkosított kapcsolatok esetén). Ha ez az érték egy szám, akkor az a port. Ellenkező esetben végezzen kereszthivatkozást az értékre a rendszer "szolgáltatások" táblájával. Ezt általában a /etc/services, vagy a c:\windows\system32\drivers\etc\services for Windows webhelyen találja.

Az alábbi képernyőképen a parancs kimenete látható Linux/Unix rendszerben.

Rendszerkép a db2 parancs kimenetével Linux és Unix

Az alábbi képernyőképen a parancs kimenete látható a Windowsban.

Kép a Db2 parancs kimenetével a Windows

Adatbázis nevének meghatározása

A használni kívánt adatbázisnév meghatározása:

  1. Az IBM i-n futtassa DSPRDBDIRE.

    A relációs adatbázis címtárbejegyzéseinek megjelenítő kimenetét bemutató kép

  2. Az egyik bejegyzésben helyi*távoli hely szerepel. Ezt a bejegyzést kell használni.

Portszám meghatározása

A Microsoft-illesztőprogram az elosztott relációs adatbázis-architektúra (DRDA) protokollal csatlakozik az adatbázishoz. A DRDA alapértelmezett portja a 446-os port. Először próbálja ki ezt az értéket.

Azt biztosan megállapítani, hogy a DRDA szolgáltatás melyik porton fut:

  1. Futtassa az IBM i parancsot WRKSRVTBLE.

  2. Görgessen lefelé, amíg meg nem találja a DRDA bejegyzéseit.

    szolgáltatástábla-bejegyzések

  3. Annak ellenőrzéséhez, hogy a DRDA szolgáltatás működik-e, és figyeli-e a portot, futtassa NETSTAT.

    DRDA figyelési

  4. Válassza a 3. lehetőséget (IPv4 esetén) vagy a 6. lehetőséget (IPv6 esetén).

  5. Nyomja le az F14 billentyűt a portszámok megjelenítéséhez a nevek helyett, és görgessen addig, amíg meg nem látja a szóban forgó portot. "Figyelés" állapotú bejegyzéssel kell rendelkeznie.

    IP-kapcsolat állapota

További információ