IBM Db2-database
Sammendrag
Element | Bekrivelse |
---|---|
Utgivelsestilstand | Generell tilgjengelighet |
Produkter | Excel Power BI (semantiske modeller) Power BI (dataflyter) Stoff (Dataflyt gen2) Power Apps (dataflyter) Dynamics 365 Customer Insights |
Godkjenningstyper som støttes | Grunnleggende Database Vinduer |
Funksjonsreferansedokumentasjon | DB2. Database |
Merk
Noen funksjoner kan være til stede i ett produkt, men ikke andre på grunn av distribusjonsplaner og vertsspesifikke funksjoner.
Forutsetning
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, kan du gå 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
- Import
- DirectQuery (semantiske Modeller for Power BI)
- Avanserte alternativer
- Driver (IBM eller Microsoft)
- Tidsavbrudd for kommando i minutter
- Pakkesamling
- SQL statement
- Inkluder relasjonskolonner
- Naviger ved å bruke fullstendig hierarki
Koble til 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 som skal kobles 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 databasen. I dette eksemplet er
TestIBMDb2server.contoso.com:4000
servernavnet og porten og IBM Db2-databasen som åpnesNORTHWD2
.Hvis du kobler til fra Power BI Desktop, velger du enten import- eller DirectQuery-datatilkoblingsmodus . Resten av disse trinnene i eksemplet bruker modus for import av datatilkobling. Hvis du vil lære mer om DirectQuery, kan du gå til Bruk DirectQuery i Power BI Desktop.
Merk
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 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 til datakildesiden.
Angi IBM Db2-serveren som skal kobles 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 databasen. I dette eksemplet er
TestIBMDb2server.contoso.com:4000
servernavnet og porten og IBM Db2-databasen som åpnesNORTHWD2
Velg navnet på den lokale datagatewayen.
Merk
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.
Angi legitimasjonen din.
Velg Bruk kryptert Koble til ion hvis du vil bruke en kryptert tilkobling, eller fjern merket for alternativet hvis du vil bruke en ukryptert tilkobling.
Klikk Neste for å fortsette.
Velg dataene du trenger, i Navigator, og velg deretter Transformer data for å transformere dataene i Power Query-redigering.
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 | Bekrivelse |
---|---|
Driveren | 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: Sørg for 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 statement | Hvis du vil ha informasjon, kan du gå til Importer 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. |
Naviger ved å bruke fullstendig hierarki | 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 ikke Transport Layer Security (TLS)
- 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 InvariantName-kolonnen :
IBM.Data.DB2
Hvis dette navnet er i InvariantName-kolonnen , er IBM Db2-driveren installert og riktig konfigurert.
SQLCODE -805- og SQLCODE -551-feilkoder
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 tilkoblingskonfigurasjonen for Power Query Package). 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.
TILBAKEKALL BINDADD PÅ DATABASEN FRA BRUKER <AUTHORIZATION_NAME>.
GI 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 *EKSKLUDer 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 på IBM i
DSPRDBDIRE
.En av oppføringene har en ekstern plassering av *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 denne 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».
Mer informasjon
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for