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:
Válassza az Adatok lekérésealól az IBM Db2 adatbázis lehetőséget.
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 pedigNORTHWD2
.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ásokbanSQL-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. Válassza OKlehetőséget.
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 .
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.
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.
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:
Válassza az IBM Db2 adatbázis lehetőséget a Power Query – Csatlakozás adatforráshoz lapon.
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 pedigNORTHWD2
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.
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.
Adja meg a hitelesítő adatait.
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.
A folytatáshoz válassza Tovább lehetőséget.
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.
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.
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:
Nyissa meg a Windows PowerShellt a számítógépen.
Adja meg a következő parancsot:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
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.
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>
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.
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.
A BINDADD JOGOSULTSÁG MEGADÁSA AZ ADATBÁZISRA A USER <AUTHORIZATION_NAME>SZÁMÁRA.
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.
REVOKE BINDADD AZ ADATBÁZISON A FELHASZNÁLÓ <JOGOSULTSÁGÁT>.
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.
WRKOBJ QSYS/CRTSQLPKG. Írja be a "2"-t az objektre vonatkozó jogosultság módosításához.
Módosítsa a jogosultságot a *KIZÁRÁS értékről NYILVÁNOS vagy <authorization_name>értékre.
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.
Az alábbi képernyőképen a parancs kimenete látható a Windowsban.
Adatbázis nevének meghatározása
A használni kívánt adatbázisnév meghatározása:
Az IBM i-n futtassa
DSPRDBDIRE
.Az egyik bejegyzésben
helyi* szerepel. Ezt a bejegyzést kell használni.távoli hely
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:
Futtassa az IBM i parancsot
WRKSRVTBLE
.Görgessen lefelé, amíg meg nem találja a DRDA bejegyzéseit.
Annak ellenőrzéséhez, hogy a DRDA szolgáltatás működik-e, és figyeli-e a portot, futtassa
NETSTAT
.Válassza a 3. lehetőséget (IPv4 esetén) vagy a 6. lehetőséget (IPv6 esetén).
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.