IBM Db2-database
Resumé
Vare | 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 Windows |
Dokumentation til funktionsreference | DB2. Database |
Seddel
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 startversion 11.5-klienter og -drivere. Flere oplysninger: driverbegrænsningerKontrollér, at IBM Db2-driveren er installeret
Understøttede egenskaber
- Import
- DirectQuery (semantiske Power BI-modeller)
- Avancerede indstillinger
- Driver (IBM eller Microsoft)
- Timeout for kommando i minutter
- Pakkesamling
- SQL-sætning
- Medtag relationskolonner
- Naviger ved hjælp af fuldt hierarki
Opret forbindelse til en IBM Db2-database fra Power Query Desktop
Hvis du vil oprette forbindelse, skal du benytte følgende fremgangsmåde:
Vælg indstillingen IBM Db2-databaseHent data.
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 servernavnet og porten
TestIBMDb2server.contoso.com:4000
, og den IBM Db2-database, der åbnes, erNORTHWD2
.Hvis du opretter forbindelse fra Power BI Desktop, skal du enten vælge tilstanden Importér eller DirectQuery dataforbindelsestilstand. 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.
Seddel
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: Opret forbindelse ved hjælp af avancerede indstillinger
Hvis du vælger DirectQuery som din dataforbindelsestilstand, deaktiveres den SQL-sætning, der i de avancerede indstillinger. DirectQuery understøtter i øjeblikket ikke push-down-forespørgsler oven på en oprindelig databaseforespørgsel for IBM Db2-connectoren.
Vælg OK.
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 Opret forbindelse. Du kan få flere oplysninger om godkendelse ved at gå til Godkendelse med en datakilde.
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.
I Navigatorskal du vælge de data, du har brug for, og derefter enten vælge Indlæs for at indlæse dataene eller Transformér data for at transformere dataene.
Opret forbindelse til en IBM Db2-database fra Power Query Online
Hvis du vil oprette forbindelse, skal du benytte følgende fremgangsmåde:
Vælg indstillingen IBM Db2-database på siden Power Query – Opret forbindelse til datakilde.
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 servernavnet og porten
TestIBMDb2server.contoso.com:4000
, og den IBM Db2-database, der åbnes, erNORTHWD2
Vælg navnet på din datagateway i det lokale miljø.
Seddel
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.
Hvis det er første gang, du opretter forbindelse til denne IBM Db2-database, skal du vælge legitimationsoplysningerne for forbindelsen i godkendelsestype. Vælg Basic-, hvis du planlægger at bruge en konto, der er oprettet i IBM Db2-databasen i stedet for Windows-godkendelse.
Angiv dine legitimationsoplysninger.
Vælg Brug krypteret forbindelse hvis du vil bruge en krypteret forbindelse, eller fjern markeringen i indstillingen, hvis du vil bruge en ukrypteret forbindelse.
Vælg Næste for at fortsætte.
I Navigatorskal du vælge de data, du har brug for, og derefter vælge Transformer data for at transformere dataene i Power Query-editor.
Opret forbindelse 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.
I følgende tabel vises alle de avancerede indstillinger, du kan angive i Power Query.
Avanceret indstilling | Beskrivelse |
---|---|
Chauffør | 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-sætning | Du kan få flere oplysninger ved at gå til Importér data fra en database ved hjælp af oprindelig databaseforespørgsel. |
Medtag 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 ved hjælp af fuldt 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 kun TLS (Transport Layer Security) med december 2024-versionen af Power BI Desktop eller nyere
- 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:
Åbn Windows PowerShell på din computer.
Angiv følgende kommando:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogv
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-fejlkoder -551
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
eller en anden samling (angivet i Power Query Pakkeforbindelse konfiguration). 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 enten 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.
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>
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.
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.
TILDEL BINDADD PÅ DATABASEN TIL BRUGER <authorization_name>.
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.
TILBAGEKALD BINDADD PÅ DATABASEN FRA BRUGER <authorization_name>.
TILDEL EXECUTE ON PACKAGE <collection.package> TIL USER <authorization_name>.
Når du opretter forbindelse til IBM Db2 til i, kan Db2-administratoren udføre følgende trin.
WRKOBJ QSYS/CRTSQLPKG. Skriv "2" for at ændre objektmyndigheden.
Skift autoritet fra *EXCLUDE til PUBLIC eller <authorization_name>.
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 for 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.
Følgende skærmbillede viser outputtet af denne kommando i Windows.
Find databasenavn
Sådan bestemmer du, hvilket databasenavn der skal bruges:
På IBM i, køre
DSPRDBDIRE
.Visning af relationsdatabaseadresselisteposter
En af posterne har en ekstern placering af *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å:
Kør IBM i-kommandoen
WRKSRVTBLE
.Rul ned, indtil du finder posterne for DRDA.
Kør
NETSTAT
for at bekræfte, at DRDA-tjenesten er tændt og lytter på den pågældende port.Vælg enten mulighed 3 (for IPv4) eller 6 (for IPv6).
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".