Delen via


IBM Db2-database

Samenvatting

Item Beschrijving
Releasestatus Algemene beschikbaarheid
PRODUCTEN Excel
Power BI (Semantische modellen)
Power BI (gegevensstromen)
Fabric (Dataflow Gen2)
Power Apps (gegevensstromen)
Dynamics 365 Customer Insights
Ondersteunde verificatietypen Basis
Database
Vensters
Documentatie voor functiereferenties DB2. Database

Notitie

Sommige mogelijkheden zijn mogelijk aanwezig in één product, maar niet in andere vanwege implementatieschema's en hostspecifieke mogelijkheden.

Vereisten

De IBM Db2-databaseconnector maakt standaard gebruik van het Microsoft-stuurprogramma om verbinding te maken met uw gegevens. Als u ervoor kiest om het IBM-stuurprogramma te gebruiken in de geavanceerde opties in Power Query Desktop, moet u eerst het IBM Db2-stuurprogramma voor .NET installeren op de computer die wordt gebruikt om verbinding te maken met de gegevens. De naam van dit stuurprogramma verandert van tijd tot tijd, dus zorg ervoor dat u het IBM Db2-stuurprogramma installeert dat met .NET werkt. Voor instructies over het downloaden, installeren en configureren van het IBM Db2-stuurprogramma voor .NET, gaat u naar De eerste versie 11.5-clients en stuurprogramma's downloaden. Meer informatie: Stuurprogrammabeperkingen, Controleren of het IBM Db2-stuurprogramma is geïnstalleerd

Ondersteunde mogelijkheden

  • Import
  • DirectQuery (semantische Power BI-modellen)
  • Geavanceerde opties
    • Stuurprogramma (IBM of Microsoft)
    • Time-out van opdracht in minuten
    • Pakketverzameling
    • SQL statement
    • Relatiekolommen opnemen
    • Navigeren in de volledige hiërarchie

Verbinding maken naar een IBM Db2-database vanuit Power Query Desktop

Voer de volgende stappen uit om de verbinding te maken:

  1. Selecteer de optie IBM Db2-database in Gegevens ophalen.

  2. Geef de IBM Db2-server op waarmee verbinding moet worden gemaakt in Server. Als een poort is vereist, geeft u deze op met de indeling ServerName:Port, waarbij poort het poortnummer is. Voer ook de IBM Db2-database in die u wilt openen in Database. In dit voorbeeld zijn TestIBMDb2server.contoso.com:4000 de servernaam en poort en de IBM Db2-database die wordt geopend is NORTHWD2.

    Enter IBM Db2 database connection.

  3. Als u verbinding maakt vanuit Power BI Desktop, selecteert u de modus Importeren of DirectQuery-gegevensconnectiviteit . In de rest van deze voorbeeldstappen wordt de modus Gegevensconnectiviteit importeren gebruikt. Ga naar DirectQuery gebruiken in Power BI Desktop voor meer informatie over DirectQuery.

    Notitie

    Het dialoogvenster IBM Db2-database maakt standaard gebruik van het Microsoft-stuurprogramma tijdens het aanmelden. Als u het IBM-stuurprogramma wilt gebruiken, opent u Geavanceerde opties en selecteert u IBM. Meer informatie: Verbinding maken met geavanceerde opties

    Als u DirectQuery selecteert als de modus voor gegevensconnectiviteit, wordt de SQL-instructie in de geavanceerde opties uitgeschakeld. DirectQuery biedt momenteel geen ondersteuning voor het omlaag pushen van query's boven op een systeemeigen databasequery voor de IBM Db2-connector.

  4. Selecteer OK.

  5. Als dit de eerste keer is dat u verbinding maakt met deze IBM Db2-database, selecteert u het verificatietype dat u wilt gebruiken, voert u uw referenties in en selecteert u vervolgens Verbinding maken. Ga naar Verificatie met een gegevensbron voor meer informatie over verificatie.

    Enter your IBM Db2 database credentials.

    Power Query probeert standaard verbinding te maken met de IBM Db2-database met behulp van een versleutelde verbinding. Als Power Query geen verbinding kan maken via een versleutelde verbinding, wordt het dialoogvenster 'Kan geen verbinding maken' weergegeven. Als u verbinding wilt maken met een niet-versleutelde verbinding, selecteert u OK.

    Unable to connect dialog box

  6. Selecteer in Navigator de gegevens die u nodig hebt en selecteer vervolgens Laden om de gegevens te laden of Gegevens transformeren om de gegevens te transformeren.

    Select the data you require from the database

Verbinding maken naar een IBM Db2-database vanuit Power Query Online

Voer de volgende stappen uit om de verbinding te maken:

  1. Selecteer de databaseoptie IBM Db2 in de Power Query- Verbinding maken naar de gegevensbronpagina.

  2. Geef de IBM Db2-server op waarmee verbinding moet worden gemaakt in Server. Als een poort is vereist, geeft u deze op met de indeling ServerName:Port, waarbij poort het poortnummer is. Voer ook de IBM Db2-database in die u wilt openen in Database. In dit voorbeeld zijn TestIBMDb2server.contoso.com:4000 de servernaam en poort en de IBM Db2-database die wordt geopend, is NORTHWD2

  3. Selecteer de naam van uw on-premises gegevensgateway.

    Notitie

    U moet een on-premises gegevensgateway voor deze connector selecteren, ongeacht of de IBM Db2-database zich in uw lokale netwerk of online bevindt.

  4. Als dit de eerste keer is dat u verbinding maakt met deze IBM Db2-database, selecteert u het type referenties voor de verbinding in verificatietype. Kies Basic als u van plan bent een account te gebruiken dat is gemaakt in de IBM Db2-database in plaats van Windows-verificatie.

  5. Voer uw referenties in.

  6. Selecteer Versleutelde Verbinding maken ion gebruiken als u een versleutelde verbinding wilt gebruiken of schakel de optie uit als u een niet-versleutelde verbinding wilt gebruiken.

    Enter IBM Db2 database online connection.

  7. Selecteer Volgende om door te gaan.

  8. Selecteer in Navigator de gegevens die u nodig hebt en selecteer vervolgens Gegevens transformeren om de gegevens in Power Query-editor te transformeren.

    Select the data you want to transform in the Navigator

Verbinding maken met geavanceerde opties

Power Query biedt een set geavanceerde opties die u indien nodig aan uw query kunt toevoegen.

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

De volgende tabel bevat alle geavanceerde opties die u in Power Query kunt instellen.

Geavanceerde optie Beschrijving
Stuurprogramma Bepaalt welk stuurprogramma wordt gebruikt om verbinding te maken met uw IBM Db2-database. De keuzes zijn IBM en Windows (standaard). Als u het IBM-stuurprogramma selecteert, moet u eerst controleren of het IBM Db2-stuurprogramma voor .NET op uw computer is geïnstalleerd. Deze optie is alleen beschikbaar in Power Query Desktop. Meer informatie: Controleren of het IBM Db2-stuurprogramma is geïnstalleerd
Time-out van opdracht in minuten Als uw verbinding langer duurt dan tien minuten (de standaardtime-out), kunt u in minuten een andere waarde invoeren om de verbinding langer open te houden.
Pakketverzameling Hiermee geeft u op waar moet worden gezocht naar pakketten. Pakketten zijn besturingsstructuren die door Db2 worden gebruikt bij het verwerken van een SQL-instructie en worden indien nodig automatisch gemaakt. Deze optie maakt standaard gebruik van de waarde NULLID. Alleen beschikbaar wanneer u het Microsoft-stuurprogramma gebruikt. Meer informatie: DB2-pakketten: Concepten, voorbeelden en veelvoorkomende problemen
SQL statement Ga voor informatie naar Gegevens importeren uit een database met behulp van een systeemeigen databasequery.
Relatiekolommen opnemen Indien ingeschakeld, bevat u kolommen met mogelijk relaties met andere tabellen. Als dit vak is uitgeschakeld, ziet u deze kolommen niet.
Navigeren in de volledige hiërarchie Als dit is ingeschakeld, geeft de navigator de volledige hiërarchie weer van tabellen in de database waarmee u verbinding maakt. Als dit is uitgeschakeld, worden alleen de tabellen weergegeven waarvan de kolommen en rijen gegevens bevatten.

Nadat u de geavanceerde opties hebt geselecteerd die u nodig hebt, selecteert u OK in Power Query Desktop of Volgende in Power Query Online om verbinding te maken met uw IBM Db2-database.

Problemen en beperkingen

Beperkingen van stuurprogramma's

Het Microsoft-stuurprogramma is hetzelfde dat wordt gebruikt in Microsoft Host Integration Server, de zogenaamde 'ADO.NET Provider voor DB2'. Het IBM-stuurprogramma is het IBM Db/2-stuurprogramma dat werkt met .NET. De naam van dit stuurprogramma verandert van tijd tot tijd, dus zorg ervoor dat het het stuurprogramma is dat werkt met .NET, wat verschilt van de IBM Db2-stuurprogramma's die werken met OLE/DB, ODBC of JDBC.

U kunt ervoor kiezen om het Microsoft-stuurprogramma (standaard) of het IBM-stuurprogramma te gebruiken als u Power Query Desktop gebruikt. Power Query Online gebruikt momenteel alleen het Microsoft-stuurprogramma. Elk stuurprogramma heeft zijn beperkingen.

  • Microsoft-stuurprogramma
    • Biedt geen ondersteuning voor Transport Layer Security (TLS)
  • IBM-stuurprogramma
    • De IBM Db2-databaseconnector werkt niet met Mainframe- of IBM i-systemen wanneer u het IBM Db2-stuurprogramma voor .NET gebruikt
    • Biedt geen ondersteuning voor DirectQuery

Microsoft biedt ondersteuning voor het Microsoft-stuurprogramma, maar niet voor het IBM-stuurprogramma. Als uw IT-afdeling deze echter al heeft ingesteld en geconfigureerd op uw computers, moet uw IT-afdeling weten hoe het IBM-stuurprogramma moet worden opgelost.

Systeemeigen query's worden niet ondersteund in DirectQuery

Wanneer u DirectQuery selecteert als de modus voor gegevensverbinding in Power Query Desktop, wordt het tekstvak van de SQL-instructie in de geavanceerde opties uitgeschakeld. Deze is uitgeschakeld omdat de Power Query IBM Db2-connector momenteel geen ondersteuning biedt voor het omlaag pushen van query's boven op een systeemeigen databasequery.

Problemen oplossen

Zorg ervoor dat het IBM Db2-stuurprogramma is geïnstalleerd

Als u ervoor kiest om het IBM Db2-stuurprogramma voor Power Query Desktop te gebruiken, moet u eerst het stuurprogramma op uw computer downloaden, installeren en configureren. Om ervoor te zorgen dat het IBM Db2-stuurprogramma is geïnstalleerd:

  1. Open Windows PowerShell op uw computer.

  2. Voer de volgende opdracht in:

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

  3. In het dialoogvenster dat wordt geopend, ziet u de volgende naam in de kolom InvariantName :

    IBM.Data.DB2

Als deze naam zich in de kolom InvariantName bevindt, is het IBM Db2-stuurprogramma geïnstalleerd en correct geconfigureerd.

SQLCODE -805 en SQLCODE -551-foutcodes

Wanneer u verbinding probeert te maken met een IBM Db2-database, kunt u soms de algemene fout SQLCODE -805 tegenkomen, wat aangeeft dat het pakket niet is gevonden in de NULLID of andere verzameling (opgegeven in de configuratie van de Power Query-pakketverbinding). U kunt ook de algemene fout SQLCODE -551 tegenkomen, wat aangeeft dat u geen pakketten kunt maken omdat u geen instantie voor pakketbinding hebt.

Normaal gesproken wordt SQLCODE -805 gevolgd door SQLCODE -551, maar u ziet alleen de tweede uitzondering. In werkelijkheid is het probleem hetzelfde. U hebt geen bevoegdheid om het pakket te binden aan een NULLID of de opgegeven verzameling.

Normaal gesproken bieden de meeste IBM Db2-beheerders geen bindingspakketinstantie aan eindgebruikers, met name in een IBM z/OS-omgeving (mainframe) of IBM i (AS/400). Db2 op Linux, Unix of Windows verschilt in die gebruikersaccounts standaard met bindingsbevoegdheden, waardoor het pakket MSCS001 (Cursor Stability) wordt gemaakt in de eigen verzameling van de gebruiker (naam = aanmeldingsnaam van de gebruiker).

Als u geen bindingspakketbevoegdheden hebt, moet u uw Db2-beheerder vragen om een pakketbindingsinstantie. Maak met deze pakketbindingsinstantie verbinding met de database en haal gegevens op, waardoor het pakket automatisch wordt gemaakt. Daarna kan de beheerder de verpakkingsbindingsinstantie intrekken. Daarna kan de beheerder het pakket ook 'binden' aan andere verzamelingen, om de gelijktijdigheid te vergroten, om uw interne standaarden beter te kunnen afstemmen op waar pakketten zijn gebonden, enzovoort.

Wanneer u verbinding maakt met IBM Db2 voor z/OS, kan de Db2-beheerder de volgende stappen uitvoeren.

  1. Verdeel een machtiging om een nieuw pakket aan de gebruiker te binden met een van de volgende opdrachten:

    • BINDADD OP SYSTEEM VERLENEN AAN <AUTHORIZATION_NAME>
    • GRANT PACKADM ON <COLLECTION_NAME> TO <authorization_name>
  2. Maak met Behulp van Power Query verbinding met de IBM Db2-database en haal een lijst met schema's, tabellen en weergaven op. De Power Query IBM Db2-databaseconnector maakt automatisch het pakket NULLID. MSCS001 en geef het pakket vervolgens openbaar.

  3. De instantie intrekken om een nieuw pakket aan de gebruiker te binden met een van de volgende opdrachten:

    • BINDADD INTREKKEN VANUIT <authorization_name>
    • PACKADM INTREKKEN OP <collection_name> UIT <authorization_name>

Wanneer u verbinding maakt met IBM Db2 voor Linux, Unix of Windows, kan de Db2-beheerder de volgende stappen uitvoeren.

  1. BINDADD AAN DATABASE TOEWIJZEN AAN AUTHORIZATION_NAME> GEBRUIKER<.

  2. Maak met Behulp van Power Query verbinding met de IBM Db2-database en haal een lijst met schema's, tabellen en weergaven op. De Power Query IBM Db2-connector maakt automatisch het pakket NULLID. MSCS001 en geef het pakket vervolgens openbaar.

  3. BINDADD INTREKKEN OP DATABASE VAN AUTHORIZATION_NAME> GEBRUIKER<.

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

Wanneer u verbinding maakt met IBM Db2 for i, kan de Db2-beheerder de volgende stappen uitvoeren.

  1. WRKOBJ QSYS/CRTSQLPKG. Typ '2' om de objectinstantie te wijzigen.

  2. Wijzig de instantie van *EXCLUDE in PUBLIC of <authorization_name>.

  3. Daarna wijzigt u de instantie weer in *EXCLUDE.

SQLCODE -360-foutcode

Wanneer u verbinding probeert te maken met de IBM Db2-database, kunt u de volgende fout tegenkomen:

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

Dit foutbericht geeft aan dat u de juiste waarde niet hebt geplaatst voor de naam van de database.

SQLCODE -1336-foutcode

The specified host could not be found.

Controleer de naam en controleer of de host bereikbaar is. Gebruik bijvoorbeeld ping in een opdrachtprompt om de server te bereiken en ervoor te zorgen dat het IP-adres juist is, of gebruik telnet om met de server te communiceren.

SQLCODE -1037-foutcode

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

De poort wordt opgegeven aan het einde van de servernaam, gescheiden door een dubbele punt. Als u dit weglaat, wordt de standaardwaarde van 50000 gebruikt.

Voer deze opdracht uit om de poort Db2 te vinden die wordt gebruikt voor Linux, Unix en Windows:

db2 get dbm cfg | findstr SVCENAME

Zoek in de uitvoer naar een vermelding voor SVCENAME (en SSL_SVCENAME voor versleutelde TLS-verbindingen). Als deze waarde een getal is, is dat de poort. Anders verwijst u naar de waarde met de tabel 'services' van het systeem. U kunt dit meestal vinden op /etc/services of op c:\windows\system32\drivers\etc\services voor Windows.

In de volgende schermopname ziet u de uitvoer van deze opdracht in Linux/Unix.

Image with output of the db2 command in Linux and Unix

In de volgende schermopname ziet u de uitvoer van deze opdracht in Windows.

Image with output of the db2 command in Windows

Databasenaam bepalen

Ga als volgt te werk om te bepalen welke databasenaam moet worden gebruikt:

  1. Voer op IBM i DSPRDBDIREuit.

    Image showing the output of the Display Relational Database Directory Entries

  2. Een van de vermeldingen heeft een externe locatie van *LOCAL. Deze vermelding is de vermelding die moet worden gebruikt.

Poortnummer bepalen

Het Microsoft-stuurprogramma maakt verbinding met de database met behulp van het DRDA-protocol (Distributed Relational Database Architecture). De standaardpoort voor DRDA is poort 446. Probeer deze waarde eerst.

Ga als volgt te werk om te bepalen op welke poort de DRDA-service wordt uitgevoerd:

  1. Voer de IBM i-opdracht WRKSRVTBLEuit.

  2. Schuif omlaag totdat u de vermeldingen voor DRDA hebt gevonden.

    Service Table Entries

  3. Voer uit NETSTATom te bevestigen dat de DRDA-service is ingeschakeld en luistert op die poort.

    DRDA listening

  4. Kies optie 3 (voor IPv4) of optie 6 (voor IPv6).

  5. Druk op F14 om de poortnummers te zien in plaats van namen en schuif totdat u de betreffende poort ziet. Het moet een vermelding hebben met de status 'Luisteren'.

    IP connection status

Meer informatie