Del via


IBM Db2-database

Oversigt

Element Beskrivelse
Udgivelsestilstand Generel tilgængelighed
Produkter Excel
Power BI (semantiske modeller)
Power BI (dataflow)
Fabric (Dataflow Gen2)
Power Apps (dataflow)
Dynamics 365 Customer Insights
Understøttede godkendelsestyper Grundlæggende
Database
Vinduer
Dokumentation til funktionsreference DB2. Database

Bemærk

Nogle funktioner kan være til stede i ét produkt, men ikke andre på grund af installationsplaner og værtsspecifikke egenskaber.

Forudsætninger

IBM Db2-databaseconnectoren bruger som standard Microsoft-driveren til at oprette forbindelse til dine data. Hvis du vælger at bruge IBM-driveren i de avancerede indstillinger i Power Query Desktop, skal du først installere IBM Db2-driveren til .NET på den computer, der bruges til at oprette forbindelse til dataene. Navnet på denne driver ændres fra tid til anden, så sørg for at installere den IBM Db2-driver, der fungerer sammen med .NET. Hvis du vil have oplysninger om, hvordan du downloader, installerer og konfigurerer IBM Db2-driveren til .NET, skal du gå til Download indledende version 11.5-klienter og -drivere. Flere oplysninger: Driverbegrænsninger, Kontrollér, at IBM Db2-driveren er installeret

Understøttede egenskaber

  • Importér
  • DirectQuery (semantiske Power BI-modeller)
  • Avancerede indstillinger
    • Driver (IBM eller Microsoft)
    • Timeout for kommando i minutter
    • Pakkesamling
    • SQL statement
    • Inkluder relationskolonner
    • Naviger vha. det fulde hierarki

Forbind til en IBM Db2-database fra Power Query Desktop

Hvis du vil oprette forbindelse, skal du benytte følgende fremgangsmåde:

  1. Vælg indstillingen IBM Db2-database under Hent data.

  2. Angiv den IBM Db2-server, der skal oprettes forbindelse til i Server. Hvis en port er påkrævet, skal du angive den ved hjælp af formatet ServerName:Port, hvor Port er portnummeret. Angiv også den IBM Db2-database, du vil have adgang til, i Database. I dette eksempel er TestIBMDb2server.contoso.com:4000 servernavnet og porten , og den IBM Db2-database, der åbnes, er NORTHWD2.

    Enter IBM Db2 database connection.

  3. Hvis du opretter forbindelse fra Power BI Desktop, skal du vælge enten tilstanden Import eller DirectQuery-dataforbindelse . I resten af disse eksempeltrin bruges tilstanden Importér dataforbindelse. Hvis du vil vide mere om DirectQuery, skal du gå til Brug DirectQuery i Power BI Desktop.

    Bemærk

    Dialogboksen IBM Db2-database bruger som standard Microsoft-driveren under logon. Hvis du vil bruge IBM-driveren, skal du åbne Avancerede indstillinger og vælge IBM. Flere oplysninger: Forbind ved hjælp af avancerede indstillinger

    Hvis du vælger DirectQuery som din dataforbindelsestilstand, deaktiveres SQL-sætningen i de avancerede indstillinger. DirectQuery understøtter i øjeblikket ikke push-down-forespørgsler oven på en oprindelig databaseforespørgsel for IBM Db2-connectoren.

  4. Vælg OK.

  5. Hvis det er første gang, du opretter forbindelse til denne IBM Db2-database, skal du vælge den godkendelsestype, du vil bruge, angive dine legitimationsoplysninger og derefter vælge Forbind. Du kan få flere oplysninger om godkendelse ved at gå til Godkendelse med en datakilde.

    Enter your IBM Db2 database credentials.

    Power Query forsøger som standard at oprette forbindelse til IBM Db2-databasen ved hjælp af en krypteret forbindelse. Hvis Power Query ikke kan oprette forbindelse ved hjælp af en krypteret forbindelse, vises dialogboksen "Der kan ikke oprettes forbindelse". Hvis du vil oprette forbindelse ved hjælp af en ukrypteret forbindelse, skal du vælge OK.

    Unable to connect dialog box

  6. I Navigator skal du vælge de data, du har brug for, og derefter enten vælge Indlæs for at indlæse dataene eller Transformer data for at transformere dataene.

    Select the data you require from the database

Forbind til en IBM Db2-database fra Power Query Online

Hvis du vil oprette forbindelse, skal du benytte følgende fremgangsmåde:

  1. Vælg indstillingen IBM Db2-databasesiden Power Query – Forbind til datakilde.

  2. Angiv den IBM Db2-server, der skal oprettes forbindelse til i Server. Hvis en port er påkrævet, skal du angive den ved hjælp af formatet ServerName:Port, hvor Port er portnummeret. Angiv også den IBM Db2-database, du vil have adgang til, i Database. I dette eksempel er TestIBMDb2server.contoso.com:4000 servernavnet og porten, og den IBM Db2-database, der åbnes, er NORTHWD2

  3. Vælg navnet på din datagateway i det lokale miljø.

    Bemærk

    Du skal vælge en datagateway i det lokale miljø til denne connector, uanset om IBM Db2-databasen er på dit lokale netværk eller online.

  4. Hvis det er første gang, du opretter forbindelse til denne IBM Db2-database, skal du vælge typen af legitimationsoplysninger for forbindelsen i godkendelsestypen. Vælg Basic , hvis du vil bruge en konto, der er oprettet i IBM Db2-databasen i stedet for Windows-godkendelse.

  5. Angiv dine legitimationsoplysninger.

  6. Vælg Brug krypteret Forbind ion, hvis du vil bruge en krypteret forbindelse, eller fjern markeringen i indstillingen, hvis du vil bruge en ukrypteret forbindelse.

    Enter IBM Db2 database online connection.

  7. Vælg Næste for at fortsætte.

  8. Vælg de data, du har brug for, i Navigator, og vælg derefter Transformér data for at transformere dataene i Power Query-editor.

    Select the data you want to transform in the Navigator

Forbind ved hjælp af avancerede indstillinger

Power Query indeholder et sæt avancerede indstillinger, som du kan føje til din forespørgsel, hvis det er nødvendigt.

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

I følgende tabel vises alle de avancerede indstillinger, du kan angive i Power Query.

Avanceret indstilling Beskrivelse
Driver Bestemmer, hvilken driver der bruges til at oprette forbindelse til IBM Db2-databasen. Valgmulighederne er IBM og Windows (standard). Hvis du vælger IBM-driveren, skal du først sikre dig, at IBM Db2-driveren til .NET er installeret på computeren. Denne indstilling er kun tilgængelig i Power Query Desktop. Flere oplysninger: Kontrollér, at IBM Db2-driveren er installeret
Timeout for kommando i minutter Hvis forbindelsen varer længere end 10 minutter (standardtimeout), kan du angive en anden værdi på få minutter for at holde forbindelsen åben længere.
Pakkesamling Angiver, hvor pakkerne skal søges efter. Pakker er kontrolstrukturer, der bruges af Db2, når en SQL-sætning behandles, og oprettes automatisk, hvis det er nødvendigt. Denne indstilling bruger som standard værdien NULLID. Kun tilgængelig, når Microsoft-driveren bruges. Flere oplysninger: DB2-pakker: Begreber, eksempler og almindelige problemer
SQL statement Du kan få flere oplysninger ved at gå til Importér data fra en database ved hjælp af oprindelig databaseforespørgsel.
Inkluder relationskolonner Hvis afkrydsningsfeltet er markeret, medtages kolonner, der kan have relationer til andre tabeller. Hvis dette felt ikke er markeret, kan du ikke se disse kolonner.
Naviger vha. det fulde hierarki Hvis afkrydsningsfeltet er markeret, viser navigatoren det komplette hierarki af tabeller i den database, du opretter forbindelse til. Hvis markeringen fjernes, viser navigatoren kun de tabeller, hvis kolonner og rækker indeholder data.

Når du har valgt de avancerede indstillinger, du har brug for, skal du vælge OK i Power Query Desktop eller Næste i Power Query Online for at oprette forbindelse til din IBM Db2-database.

Problemer og begrænsninger

Driverbegrænsninger

Microsoft-driveren er den samme, der bruges i Microsoft Host Integration Server, kaldet "ADO.NET Provider for DB2". IBM-driveren er den IBM Db/2-driver, der fungerer sammen med .NET. Navnet på denne driver ændres fra tid til anden, så sørg for, at det er den, der fungerer sammen med .NET, som er forskellig fra de IBM Db2-drivere, der fungerer sammen med OLE/DB, ODBC eller JDBC.

Du kan vælge enten at bruge Microsoft-driveren (standard) eller IBM-driveren, hvis du bruger Power Query Desktop. I øjeblikket bruger Power Query Online kun Microsoft-driveren. Hver faktor har sine begrænsninger.

  • Microsoft-driver
    • Understøtter ikke TLS (Transport Layer Security)
  • IBM-driver
    • IBM Db2-databaseconnectoren fungerer ikke sammen med Mainframe- eller IBM i-systemer, når IBM Db2-driveren bruges til .NET
    • Understøtter ikke DirectQuery

Microsoft yder support til Microsoft-driveren, men ikke til IBM-driveren. Men hvis it-afdelingen allerede har konfigureret den på dine maskiner, bør it-afdelingen vide, hvordan du foretager fejlfinding af IBM-driveren.

Oprindelige forespørgsler understøttes ikke i DirectQuery

Når du vælger DirectQuery som dataforbindelsestilstand i Power Query Desktop, deaktiveres tekstfeltet SQL-sætning i de avancerede indstillinger. Den er deaktiveret, fordi Power Query IBM Db2-connectoren i øjeblikket ikke understøtter push-down-forespørgsler oven på en oprindelig databaseforespørgsel.

Fejlfinding

Kontrollér, at IBM Db2-driveren er installeret

Hvis du vælger at bruge IBM Db2-driveren til Power Query Desktop, skal du først downloade, installere og konfigurere driveren på din computer. Sådan sikrer du, at IBM Db2-driveren er installeret:

  1. Åbn Windows PowerShell på din computer.

  2. Angiv følgende kommando:

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

  3. I den dialogboks, der åbnes, kan du se følgende navn i kolonnen InvariantName :

    IBM.Data.DB2

Hvis dette navn findes i kolonnen InvariantName , er IBM Db2-driveren installeret og konfigureret korrekt.

SQLCODE -805- og SQLCODE -551-fejlkoder

Når du forsøger at oprette forbindelse til en IBM Db2-database, kan du nogle gange støde på den almindelige fejl SQLCODE -805, som angiver, at pakken ikke findes i NULLID samlingen eller en anden samling (angivet i forbindelseskonfigurationen for Power Query-pakken). Du kan også støde på den almindelige fejl SQLCODE -551, som angiver, at du ikke kan oprette pakker, fordi du mangler pakkebindingsautoritet.

SQLCODE -805 efterfølges typisk af SQLCODE -551, men du får kun vist den anden undtagelse. I virkeligheden er problemet det samme. Du mangler autoritet til at binde pakken til en af NULLID eller den angivne samling.

Normalt giver de fleste IBM Db2-administratorer ikke bindingspakkeautoritet til slutbrugere – især i et IBM z/OS-miljø (mainframe) eller IBM i (AS/400). Db2 på Linux, Unix eller Windows er anderledes, da brugerkonti som standard har bindingsrettigheder, som opretter pakken MSCS001 (Cursor Stability) i brugerens egen samling (navn = brugernavn).

Hvis du ikke har bind pakkerettigheder, skal du bede db2-administratoren om tilladelse til pakkebinding. Med denne pakkebindingsmyndighed skal du oprette forbindelse til databasen og hente data, som automatisk opretter pakken. Efterfølgende kan administratoren tilbagekalde emballagebindingsmyndigheden. Bagefter kan administratoren også "binde kopi" pakken til andre samlinger – for at øge samtidigheden, så den bedre matcher dine interne standarder for, hvor pakker er bundet osv.

Når du opretter forbindelse til IBM Db2 til z/OS, kan Db2-administratoren udføre følgende trin.

  1. Tildel autoritet til at binde en ny pakke til brugeren med en af følgende kommandoer:

    • TILDEL BINDADD PÅ SYSTEMET TIL authorization_name <>
    • GRANT PACKADM ON <collection_name> TO <authorization_name>
  2. Ved hjælp af Power Query kan du oprette forbindelse til IBM Db2-databasen og hente en liste over skemaer, tabeller og visninger. Power Query IBM Db2-databaseconnectoren opretter automatisk pakken NULLID. MSCS001, og tildel derefter udfør på pakken til offentligheden.

  3. Tilbagekald autoritet til at binde en ny pakke til brugeren med en af følgende kommandoer:

    • TILBAGEKALD BINDADD FRA <authorization_name>
    • TILBAGEKALD PACKADM PÅ <collection_name> FRA <authorization_name>

Når du opretter forbindelse til IBM Db2 til Linux, Unix eller Windows, kan Db2-administratoren udføre følgende trin.

  1. TILDEL BINDADD PÅ DATABASEN TIL BRUGER <authorization_name>.

  2. Ved hjælp af Power Query kan du oprette forbindelse til IBM Db2-databasen og hente en liste over skemaer, tabeller og visninger. Power Query IBM Db2-connectoren opretter automatisk pakken NULLID. MSCS001, og tildel derefter udfør på pakken til offentligheden.

  3. TILBAGEKALD BINDADD PÅ DATABASEN FRA BRUGER <authorization_name>.

  4. GRANT EXECUTE ON PACKAGE <collection.package> TO USER <authorization_name>.

Når du opretter forbindelse til IBM Db2 til i, kan Db2-administratoren udføre følgende trin.

  1. WRKOBJ QSYS/CRTSQLPKG. Skriv "2" for at ændre objektmyndigheden.

  2. Skift autoritet fra *EXCLUDE til PUBLIC eller <authorization_name>.

  3. Skift derefter autoritet tilbage til *EXCLUDE.

SQLCODE -360-fejlkode

Når du forsøger at oprette forbindelse til IBM Db2-databasen, kan du støde på følgende fejl:

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 fejlmeddelelse angiver, at du ikke har angivet den rette værdi for databasens navn.

SQLCODE -1336-fejlkode

The specified host could not be found.

Kontrollér navnet dobbelt, og bekræft, at værten er tilgængelig. Brug f.eks . ping i en kommandoprompt til at forsøge at få forbindelse til serveren og sikre, at IP-adressen er korrekt, eller brug telnet til at kommunikere med serveren.

SQLCODE -1037-fejlkode

Host is reachable, but is not responding on the specified port.

Porten er angivet i slutningen af servernavnet adskilt af et kolon. Hvis den udelades, bruges standardværdien 50000.

Kør denne kommando for at finde den port, Db2 bruger til Linux, Unix og Windows:

db2 get dbm cfg | findstr SVCENAME

Søg i outputtet efter en post for SVCENAME (og SSL_SVCENAME for TLS-krypterede forbindelser). Hvis denne værdi er et tal, er det porten. Ellers krydsreferér værdien med systemets "tjenester"-tabel. Du kan normalt finde dette på /osv/tjenester eller på c:\windows\system32\drivers\etc\services til Windows.

På følgende skærmbillede vises outputtet af denne kommando i Linux/Unix.

Image with output of the db2 command in Linux and Unix

Følgende skærmbillede viser outputtet af denne kommando i Windows.

Image with output of the db2 command in Windows

Find databasenavn

Sådan bestemmer du, hvilket databasenavn der skal bruges:

  1. På IBM i, køre DSPRDBDIRE.

    Image showing the output of the Display Relational Database Directory Entries

  2. En af posterne har en ekstern placering på *LOCAL. Denne post er den, der skal bruges.

Fastlæg portnummer

Microsoft-driveren opretter forbindelse til databasen ved hjælp af DRDA-protokollen (Distributed Relational Database Architecture). Standardporten for DRDA er port 446. Prøv denne værdi først.

Sådan finder du ud af, hvilken port DRDA-tjenesten kører på:

  1. Kør IBM i-kommandoen WRKSRVTBLE.

  2. Rul ned, indtil du finder posterne for DRDA.

    Service Table Entries

  3. Hvis du vil bekræfte, at DRDA-tjenesten er oppe og lytte på den pågældende port, skal du køre NETSTAT.

    DRDA listening

  4. Vælg enten mulighed 3 (for IPv4) eller 6 (for IPv6).

  5. Tryk på F14 for at se portnumrene i stedet for navne, og rul, indtil du kan se den pågældende port. Den skal have en post med tilstanden "Lyt".

    IP connection status

Mere information