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:

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

  2. 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 åpnes NORTHWD2.

    Enter IBM Db2 database connection.

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

  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.

    Enter your IBM Db2 database credentials.

    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.

    Unable to connect dialog box

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

    Select the data you require from the database

Koble til 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 til datakildesiden.

  2. 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 åpnes NORTHWD2

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

  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. Angi legitimasjonen din.

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

    Enter IBM Db2 database online connection.

  7. Klikk Neste for å fortsette.

  8. Velg dataene du trenger, i Navigator, og velg deretter Transformer data for å transformere dataene i Power Query-redigering.

    Select the data you want to transform in the 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.

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

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:

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

  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. TILBAKEKALL BINDADD PÅ DATABASEN FRA BRUKER <AUTHORIZATION_NAME>.

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

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

  2. Endre myndighet fra *EKSKLUDer 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.

Image with output of the db2 command in Linux and Unix

Skjermbildet nedenfor viser utdataene for denne kommandoen i Windows.

Image with output of the db2 command in Windows

Fastslå databasenavn

Slik fastslår du databasenavnet som skal brukes:

  1. Kjør på IBM i DSPRDBDIRE.

    Image showing the output of the Display Relational Database Directory Entries

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

  1. Kjør IBM i-kommandoen WRKSRVTBLE.

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

    Service Table Entries

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

    DRDA listening

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

Mer informasjon