IBM Db2-database
Sammendrag
Vare | Beskrivelse |
---|---|
Utgivelsestilstand | Generell tilgjengelighet |
Produkter | Overgå Power BI (semantiske modeller) Power BI (dataflyter) Stoff (Dataflyt gen2) Power Apps (dataflyter) Dynamics 365 Customer Insights |
Godkjenningstyper som støttes | Grunnleggende Database Windows |
Funksjonsreferansedokumentasjon | DB2. Database |
Notat
Noen funksjoner kan være til stede i ett produkt, men ikke andre på grunn av distribusjonsplaner og vertsspesifikke funksjoner.
Forutsetninger
Som standard bruker IBM Db2-databasekoblingen Microsoft-driveren til å koble til dataene dine. Hvis du velger å bruke IBM-driveren i de avanserte alternativene i Power Query Desktop, må du først installere IBM Db2-driveren for .NET på maskinen som brukes til å koble til dataene. Navnet på denne driveren endres fra tid til annen, så pass på å installere IBM Db2-driveren som fungerer med .NET. Hvis du vil ha instruksjoner om hvordan du laster ned, installerer og konfigurerer IBM Db2-driveren for .NET, går du til Last ned første versjon 11.5-klienter og -drivere. Mer informasjon: Driverbegrensninger, Kontroller at IBM Db2-driveren er installert
Funksjoner som støttes
- Importere
- DirectQuery (semantiske Modeller for Power BI)
- Avanserte alternativer
- Driver (IBM eller Microsoft)
- Tidsavbrudd for kommando i minutter
- Pakkesamling
- SQL-setning
- Inkluder relasjonskolonner
- Navigere ved hjelp av hele hierarkiet
Koble til en IBM Db2-database fra Power Query Desktop
Hvis du vil opprette tilkoblingen, gjør du følgende:
Velg alternativet IBM Db2-database fra Hent data.
Angi IBM Db2-serveren du vil koble til i Server-. Hvis en port kreves, angir du den ved hjelp av formatet ServerName:Port, der Port er portnummeret. Skriv også inn IBM Db2-databasen du vil ha tilgang til i Database. I dette eksemplet er servernavnet og -porten
TestIBMDb2server.contoso.com:4000
, og IBM Db2-databasen som åpnes, erNORTHWD2
.Hvis du kobler til fra Power BI Desktop, velger du enten Importer eller DirectQuery datatilkoblingsmodus. Resten av disse trinnene i eksemplet bruker modus for import av datatilkobling. Hvis du vil ha mer informasjon om DirectQuery, kan du gå til Bruke DirectQuery i Power BI Desktop.
Notat
Som standard bruker dialogboksen IBM Db2-database Microsoft-driveren under pålogging. Hvis du vil bruke IBM-driveren, åpner du Avanserte alternativer og velger IBM. Mer informasjon: Koble til ved hjelp av avanserte alternativer
Hvis du velger DirectQuery som datatilkoblingsmodus, deaktiveres SQL-setningen i de avanserte alternativene. DirectQuery støtter for øyeblikket ikke spørringstrykk ned på toppen av en opprinnelig databasespørring for IBM Db2-koblingen.
Velg OK.
Hvis dette er første gang du kobler til denne IBM Db2-databasen, velger du godkjenningstypen du vil bruke, skriver inn legitimasjonen og velger deretter Koble til. Hvis du vil ha mer informasjon om godkjenning, kan du gå til Godkjenning med en datakilde.
Power Query prøver som standard å koble til IBM Db2-databasen ved hjelp av en kryptert tilkobling. Hvis Power Query ikke kan koble til ved hjelp av en kryptert tilkobling, vises en dialogboks som ikke kan kobles til. Hvis du vil koble til ved hjelp av en ukryptert tilkobling, velger du OK.
Velg dataene du trenger i Navigator, og velg deretter Last inn for å laste inn dataene, eller Transformer data for å transformere dataene.
Koble til en IBM Db2-database fra Power Query Online
Hvis du vil opprette tilkoblingen, gjør du følgende:
Velg alternativet IBM Db2-database i Power Query – Koble til datakilde-siden.
Angi IBM Db2-serveren du vil koble til i Server-. Hvis en port kreves, angir du den ved hjelp av formatet ServerName:Port, der Port er portnummeret. Skriv også inn IBM Db2-databasen du vil ha tilgang til i Database. I dette eksemplet er servernavnet og porten
TestIBMDb2server.contoso.com:4000
og IBM Db2-databasen som åpnes, erNORTHWD2
Velg navnet på den lokale datagatewayen.
Notat
Du må velge en lokal datagateway for denne koblingen, enten IBM Db2-databasen er på det lokale nettverket eller på nettet.
Hvis dette er første gang du kobler til denne IBM Db2-databasen, velger du legitimasjonstypen for tilkoblingen i godkjenningstypen. Velg Grunnleggende hvis du planlegger å bruke en konto som er opprettet i IBM Db2-databasen i stedet for Windows-godkjenning.
Skriv inn legitimasjonen din.
Velg Bruk kryptert tilkobling hvis du vil bruke en kryptert tilkobling, eller fjern merket for alternativet hvis du vil bruke en ukryptert tilkobling.
Velg Neste for å fortsette.
I Navigatorvelger du dataene du trenger, og deretter velger du Transformer data for å transformere dataene i Redigeringsprogrammet for Power Query.
Koble til ved hjelp av avanserte alternativer
Power Query inneholder et sett med avanserte alternativer som du kan legge til i spørringen om nødvendig.
Tabellen nedenfor viser alle de avanserte alternativene du kan angi i Power Query.
Avansert alternativ | Beskrivelse |
---|---|
Sjåfør | Bestemmer hvilken driver som brukes til å koble til IBM Db2-databasen. Valgene er IBM og Windows (standard). Hvis du velger IBM-driveren, må du først sørge for at IBM Db2-driveren for .NET er installert på maskinen. Dette alternativet er bare tilgjengelig i Power Query Desktop. Mer informasjon: Sikre at IBM Db2-driveren er installert |
Tidsavbrudd for kommando i minutter | Hvis tilkoblingen varer lenger enn 10 minutter (standard tidsavbrudd), kan du angi en annen verdi i minutter for å holde tilkoblingen åpen lenger. |
Pakkesamling | Angir hvor du skal lete etter pakker. Pakker er kontrollstrukturer som brukes av Db2 når du behandler en SQL-setning, og opprettes automatisk om nødvendig. Som standard bruker dette alternativet verdien NULLID . Bare tilgjengelig når du bruker Microsoft-driveren. Mer informasjon: DB2-pakker: Konsepter, eksempler og vanlige problemer |
SQL-setning | Hvis du vil ha informasjon, kan du gå til Importere data fra en database ved hjelp av opprinnelig databasespørring. |
Inkluder relasjonskolonner | Hvis merket, inkluderer kolonner som kan ha relasjoner til andre tabeller. Hvis denne boksen er fjernet, ser du ikke disse kolonnene. |
Navigere ved hjelp av hele hierarkiet | Hvis det er merket av for dette, viser navigatøren det fullstendige hierarkiet av tabeller i databasen du kobler til. Hvis den fjernes, viser navigatøren bare tabellene med kolonner og rader som inneholder data. |
Når du har valgt de avanserte alternativene du trenger, velger du OK i Power Query Desktop eller Neste i Power Query Online for å koble til IBM Db2-databasen.
Problemer og begrensninger
Driverbegrensninger
Microsoft-driveren er den samme som brukes i Microsoft Host Integration Server, kalt «ADO.NET Provider for DB2». IBM-driveren er IBM Db/2-driveren som fungerer med .NET. Navnet på denne driveren endres fra tid til annen, så pass på at det er den som fungerer med .NET, som er forskjellig fra IBM Db2-driverne som fungerer med OLE/DB, ODBC eller JDBC.
Du kan velge å bruke enten Microsoft-driveren (standard) eller IBM-driveren hvis du bruker Power Query Desktop. Power Query Online bruker for øyeblikket bare Microsoft-driveren. Hver driver har sine begrensninger.
- Microsoft-driver
- Støtter Transport Layer Security (TLS) bare med desember 2024-utgivelsen av Power BI Desktop eller nyere
- IBM-driver
- IBM Db2-databasekoblingen, når du bruker IBM Db2-driveren for .NET, fungerer ikke med Mainframe- eller IBM i-systemer
- Støtter ikke DirectQuery
Microsoft gir støtte for Microsoft-driveren, men ikke for IBM-driveren. Hvis IT-avdelingen allerede har konfigurert og konfigurert på maskinene dine, bør IT-avdelingen imidlertid vite hvordan du feilsøker IBM-driveren.
Opprinnelige spørringer støttes ikke i DirectQuery
Når du velger DirectQuery som datatilkoblingsmodus i Power Query Desktop, deaktiveres SQL-setningstekstboksen i de avanserte alternativene. Den er deaktivert fordi Power Query IBM Db2-koblingen for øyeblikket ikke støtter spørringstrykk ned på toppen av en opprinnelig databasespørring.
Feilsøking
Kontroller at IBM Db2-driveren er installert
Hvis du velger å bruke IBM Db2-driveren for Power Query Desktop, må du først laste ned, installere og konfigurere driveren på maskinen. Slik sikrer du at IBM Db2-driveren er installert:
Åpne Windows PowerShell på maskinen.
Skriv inn følgende kommando:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
I dialogboksen som åpnes, skal du se følgende navn i kolonnen InvariantName:
IBM.Data.DB2
Hvis dette navnet er i InvariantName-kolonnen, er IBM Db2-driveren installert og riktig konfigurert.
FEILkoder for SQLCODE--805 og SQLCODE -551
Når du prøver å koble til en IBM Db2-database, kan du noen ganger komme over den vanlige feilen SQLCODE -805, som indikerer at pakken ikke finnes i NULLID
eller en annen samling (angitt i Power Query Pakketilkobling konfigurasjon). Du kan også støte på den vanlige feilen SQLCODE -551, som indikerer at du ikke kan opprette pakker fordi du mangler pakkebindingsinstans.
SQLCODE--805 etterfølges vanligvis av SQLCODE -551, men du ser bare det andre unntaket. I virkeligheten er problemet det samme. Du mangler myndighet til å binde pakken til enten NULLID
eller den angitte samlingen.
Vanligvis gir de fleste IBM Db2-administratorer ikke bindingspakkeinstans til sluttbrukere – spesielt i et IBM z/OS -miljø (stormaskin) eller IBM i (AS/400). Db2 på Linux, Unix eller Windows er forskjellig i at brukerkontoer har binderettigheter som standard, som oppretter MSCS001 (Cursor Stability)-pakken i brukerens egen samling (navn = brukerpåloggingsnavn).
Hvis du ikke har bindingspakkerettigheter, må du be Db2-administratoren om pakkebindingsinstans. Med denne pakkebindingsinstansen kobler du til databasen og henter data, som automatisk oppretter pakken. Etterpå kan administratoren tilbakekalle innbindingsinstansen for emballasje. Etterpå kan administratoren også «binde kopi» pakken til andre samlinger – for å øke samtidigheten, slik at den samsvarer bedre med de interne standardene for hvor pakkene er bundet, og så videre.
Når du kobler til IBM Db2 for z/OS, kan Db2-administratoren gjøre følgende trinn.
Gi myndighet til å binde en ny pakke til brukeren med én av følgende kommandoer:
- GI BINDADD PÅ SYSTEMET TIL <AUTHORIZATION_NAME>
- GI PACKADM PÅ <collection_name> TIL <authorization_name>
Bruk Power Query til å koble til IBM Db2-databasen og hente en liste over skjemaer, tabeller og visninger. Power Query IBM Db2-databasekoblingen oppretter NULLID-pakken automatisk. MSCS001, og gi deretter utføring på pakken til offentligheten.
Tilbakekalle myndighet til å binde en ny pakke til brukeren med én av følgende kommandoer:
- REVOKE BINDADD FROM <authorization_name>
- REVOKE PACKADM PÅ <collection_name> FRA <authorization_name>
Når du kobler til IBM Db2 for Linux, Unix eller Windows, kan Db2-administratoren gjøre følgende trinn.
GI BINDADD PÅ DATABASEN TIL BRUKER <AUTHORIZATION_NAME>.
Bruk Power Query til å koble til IBM Db2-databasen og hente en liste over skjemaer, tabeller og visninger. Power Query IBM Db2-koblingen oppretter pakken NULLID automatisk. MSCS001, og gi deretter utføring på pakken til offentligheten.
REVOKE BINDADD FOR DATABASE FROM USER <AUTHORIZATION_NAME>.
GRANT EXECUTE ON PACKAGE <collection.package> TIL USER <authorization_name>.
Når du kobler til IBM Db2 for i, kan Db2-administratoren gjøre følgende trinn.
WRKOBJ QSYS/CRTSQLPKG. Skriv inn "2" for å endre objektinstansen.
Endre myndighet fra *UTELAT til OFFENTLIG eller <authorization_name>.
Etterpå kan du endre myndighet tilbake til *EKSKLUDer.
SQLCODE--360 feilkode
Når du prøver å koble til IBM Db2-databasen, kan du komme over følgende feil:
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
Denne feilmeldingen angir at du ikke satte inn riktig verdi for navnet på databasen.
SQLCODE--1336 feilkode
The specified host could not be found.
Dobbeltsjekk navnet, og bekreft at verten kan nås. Bruk for eksempel ping i en ledetekst for å prøve å nå serveren og sikre at IP-adressen er riktig, eller bruk telnet- til å kommunisere med serveren.
SQLCODE--1037 feilkode
Host is reachable, but is not responding on the specified port.
Porten er angitt på slutten av servernavnet, atskilt med et kolon. Hvis den utelates, brukes standardverdien for 50000.
Hvis du vil finne porten Db2 bruker for Linux, Unix og Windows, kjører du denne kommandoen:
db2 get dbm cfg | findstr SVCENAME
Se i utdataene etter en oppføring for SVCENAME (og SSL_SVCENAME etter TLS-krypterte tilkoblinger). Hvis denne verdien er et tall, er det porten. Ellers kryssreferanse verdien med systemets "tjenester" tabell. Du kan vanligvis finne dette på /etc/services, eller på c:\windows\system32\drivers\etc\services for Windows.
Skjermbildet nedenfor viser utdataene for denne kommandoen i Linux/Unix.
Skjermbildet nedenfor viser utdataene for denne kommandoen i Windows.
Fastslå databasenavn
Slik fastslår du databasenavnet som skal brukes:
Kjør
DSPRDBDIRE
på IBM i.En av oppføringene har en ekstern plassering *LOKAL. Denne oppføringen er den du skal bruke.
Bestemme portnummer
Microsoft-driveren kobler til databasen ved hjelp av DRDA-protokollen (Distributed Relational Database Architecture). Standardporten for DRDA er port 446. Prøv denne verdien først.
For å finne ut hvilken port DRDA-tjenesten kjører på:
Kjør IBM i-kommandoen
WRKSRVTBLE
.Rull ned til du finner oppføringene for DRDA.
Hvis du vil bekrefte at DRDA-tjenesten er oppe og lytter til den porten, kjører du
NETSTAT
.Velg alternativ 3 (for IPv4) eller alternativ 6 (for IPv6).
Trykk F14 for å se portnumrene i stedet for navn, og bla til du ser den aktuelle porten. Den skal ha en oppføring med tilstanden «Lytt».