Del via


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:

  1. Velg alternativet IBM Db2-database fra Hent data.

  2. 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, er NORTHWD2.

    Angi IBM Db2-databasetilkobling.

  3. 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.

  4. Velg OK.

  5. 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.

    Angi legitimasjonen for IBM Db2-databasen.

    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.

    Kan ikke koble til dialogboksen

  6. Velg dataene du trenger i Navigator, og velg deretter Last inn for å laste inn dataene, eller Transformer data for å transformere dataene.

    Velg dataene du trenger fra databasen

Koble til en IBM Db2-database fra Power Query Online

Hvis du vil opprette tilkoblingen, gjør du følgende:

  1. Velg alternativet IBM Db2-database i Power Query – Koble til datakilde-siden.

  2. 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, er NORTHWD2

  3. 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.

  4. 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.

  5. Skriv inn legitimasjonen din.

  6. Velg Bruk kryptert tilkobling hvis du vil bruke en kryptert tilkobling, eller fjern merket for alternativet hvis du vil bruke en ukryptert tilkobling.

    Angi TILKOBLET IBM Db2-database.

  7. Velg Neste for å fortsette.

  8. I Navigatorvelger du dataene du trenger, og deretter velger du Transformer data for å transformere dataene i Redigeringsprogrammet for Power Query.

    Velg dataene du vil transformere i Navigator-

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.

Avanserte alternativer som er inkludert i dialogboksen FOR IBM Db2-databasetilkobling.

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:

  1. Åpne Windows PowerShell på maskinen.

  2. Skriv inn følgende kommando:

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

  3. 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.

  1. 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>
  2. 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.

  3. 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.

  1. GI BINDADD PÅ DATABASEN TIL BRUKER <AUTHORIZATION_NAME>.

  2. 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.

  3. REVOKE BINDADD FOR DATABASE FROM USER <AUTHORIZATION_NAME>.

  4. 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.

  1. WRKOBJ QSYS/CRTSQLPKG. Skriv inn "2" for å endre objektinstansen.

  2. Endre myndighet fra *UTELAT til OFFENTLIG eller <authorization_name>.

  3. 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.

bilde med utdata fra db2-kommandoen i Linux og Unix

Skjermbildet nedenfor viser utdataene for denne kommandoen i Windows.

bilde med utdata fra db2-kommandoen i Windows

Fastslå databasenavn

Slik fastslår du databasenavnet som skal brukes:

  1. Kjør DSPRDBDIREpå IBM i.

    bilde som viser utdataene for katalogoppføringene for visningsrelasjonsdatabase

  2. 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å:

  1. Kjør IBM i-kommandoen WRKSRVTBLE.

  2. Rull ned til du finner oppføringene for DRDA.

    servicetabelloppføringer

  3. Hvis du vil bekrefte at DRDA-tjenesten er oppe og lytter til den porten, kjører du NETSTAT.

    DRDA lytter

  4. Velg alternativ 3 (for IPv4) eller alternativ 6 (for IPv6).

  5. 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».

    IP-tilkoblingsstatus

Mer informasjon