Share via


IBM Db2-adatbázis

Összegzés

Tétel 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 Alap
Adatbázis
Ablakok
Függvényreferenciák dokumentációja DB2. Adatbázis

Feljegyzés

Egyes képességek egy termékben lehetnek jelen, másokat azonban 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ára vonatkozó utasításokért tekintse meg a kezdeti 11.5-ös verziójú ügyfelek és illesztőprogramok letöltését. További információ: Illesztőprogram-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ás
  • DirectQuery (Power BI szemantikai modellek)
  • Speciális beállítások
    • Illesztőprogram (IBM vagy Microsoft)
    • Parancs időtúllépése percekben
    • Csomaggyűjtemény
    • SQL-utasítás
    • Kapcsolati oszlopok belefoglalása
    • Navigálás a teljes hierarchiával

Csatlakozás egy 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 IBM Db2 adatbázis lehetőséget az Adatok lekérése lehetőségből.

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

    Enter IBM Db2 database connection.

  3. Ha a Power BI Desktopból csatlakozik, válassza az Importálás vagy a 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 a DirectQuery használata a Power BI Desktopban című témakörben olvashat bővebben.

    Feljegyzés

    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őprogramot szeretné használni, nyissa meg a Speciális beállításokat, és válassza az IBM lehetőséget. További információ: Csatlakozás speciális beállítások használata

    Ha a DirectQueryt választja adatkapcsolati módként, a speciális beállításokban szereplő 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. Kattintson az OK gombra.

  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ás. A hitelesítéssel kapcsolatos további információkért tekintse meg az adatforrásokkal való hitelesítést ismertető témakört.

    Enter your IBM Db2 database credentials.

    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 az OK gombot.

    Unable to connect dialog box

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

    Select the data you require from the database

Csatlakozás egy 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 Queryben – Csatlakozás az adatforrás oldalára.

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

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

    Feljegyzés

    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ípusban. Válassza az Alapszintű lehetőséget, ha windowsos hitelesítés helyett az IBM Db2-adatbázisban létrehozott fiókot szeretné használni.

  5. Adja meg a hitelesítési adatait.

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

    Enter IBM Db2 database online connection.

  7. A folytatáshoz válassza a Tovább gombra.

  8. A Kezelőben jelölje ki a szükséges adatokat, majd válassza az Adatok átalakítása lehetőséget a Power Query-szerkesztő adatainak átalakításához.

    Select the data you want to transform in the Navigator

Csatlakozás speciális beállítások használata

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

Advanced options included in the IBM Db2 database connection dialog box.

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

Speciális beállítás Leírás
Illesztő 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
Parancs időtúllépése 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. Alapértelmezés szerint ez a beállítás az értéket NULLIDhaszná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és használatával.
Kapcsolati oszlopok 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 a teljes hierarchiá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 szükséges speciális beállításokat, válassza az OK gombot a Power Query Desktopban vagy a Tovább elemet 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ő ugyanaz, amelyet a Microsoft Gazdagép-integrációs kiszolgálón használnak, az úgynevezett "ADO.NET Provider for DB2". 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
    • Nem támogatja a Transport Layer Security (TLS) használatát
  • 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. Írja be az alábbi 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 telepítése és konfigurálása megfelelően megtörtént.

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 gyűjteményben vagy más gyűjteményben (a Power Query-csomag kapcsolatkonfigurációjában van megadva). 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-öt á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 vagy a megadott gyűjteményhez NULLID 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 kötéscsomag-jogosultságokkal, meg kell kérnie a Db2 rendszergazdájától a csomagkötési szolgáltatót. 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 szolgáltatót. 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 meg egy új csomagot a felhasználóhoz az alábbi parancsok egyikével:

    • BINDADD ENGEDÉLYEZÉSE A RENDSZEREN AUTHORIZATION_NAME <>
    • A PACKADM <ENGEDÉLYEZÉSE COLLECTION_NAME 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 csomagot. MSCS001, majd adjon végrehajtást a csomagon 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 <>
    • PACKADM <VISSZAVONÁSA COLLECTION_NAME 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. BINDADD MEGADÁSA A DATABA STANDARD KIADÁS AZ U STANDARD KIADÁS R <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-összekötője automatikusan létrehozza a NULLID csomagot. MSCS001, majd adjon végrehajtást a csomagon a nyilvánosságnak.

  3. A BINDADD VISSZAVONÁSA A DATABA-ON STANDARD KIADÁS AZ U Standard kiadás R <authorization_name>.

  4. ADJA MEG AZ EXECUTE ON PACKAGE <collection.package> TO U Standard kiadás R< authorization_name>.

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

  1. WRKOBJ QSYS/CRTSQLPKG. Írja be a "2" értéket az objektumszolgáltató módosításához.

  2. Módosítsa a szolgáltatót a *KIZÁRÁSról a NYILVÁNOS vagy <authorization_name> értékre.

  3. Ezután módosítsa a szolgáltatót vissza a *EXCLUDE értékre.

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 duplán a nevet, és győződjön meg arról, hogy a gazdagép elérhető. Például pingeljen egy parancssorban a kiszolgáló elérésére és az IP-cím helyességének ellenőrzésére, vagy használjon telnetet 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 meg az SVCENAME bejegyzés kimenetét (és SSL_SVCENAME TLS-titkosított kapcsolatok esetén). Ha ez az érték szám, akkor ez a port. Ellenkező esetben kereszthivatkozás az értékre a rendszer "services" 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.

Image with output of the db2 command in Linux and Unix

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

Image with output of the db2 command in 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.

    Image showing the output of the Display Relational Database Directory Entries

  2. Az egyik bejegyzésnek a *LOCAL távoli helye lesz. 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.

Annak megkeresése, 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.

    Service Table Entries

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

    DRDA listening

  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 connection status

További információ