IBM Db2-database

Samenvatting

Item Beschrijving
Release-status Algemene beschikbaarheid
Producten Power BI (gegevenssets)
Power BI (gegevensstromen)
Power Apps (gegevensstromen)
Excel
Dynamics 365 Customer Insights
Ondersteunde verificatietypen Basic
Database
Windows
Naslagdocumentatie voor functies DB2.Database

Notitie

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

Vereisten

De IBM Db2-databaseconnector gebruikt standaard 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. Ga naar Download initial Version 11.5 clients and drivers (Initiële versie 11.5-clientsen -stuurprogramma's downloaden) voor instructies over het downloaden, installeren en configureren van het IBM Db2-stuurprogramma voor .NET. Meer informatie: Stuurprogrammabeperkingen, Zorg ervoor dat het IBM Db2-stuurprogramma is geïnstalleerd

Ondersteunde mogelijkheden

  • Importeren
  • DirectQuery (alleen Power BI Desktop)
  • Geavanceerde opties
    • Stuurprogramma (IBM of Microsoft)
    • Time-out van opdracht in minuten
    • Pakketverzameling
    • SQL-instructie
    • Relatiekolommen opnemen
    • Navigeren in de volledig hiërarchie

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

Voer de volgende stappen uit om de verbinding tot stand te brengen:

  1. Selecteer de optie IBM Db2-database in Gegevens op halen.

  2. Geef de IBM Db2-server op om verbinding mee te maken in Server. Als een poort vereist is, geeft u deze op met behulp van de indeling ServerNaam:Poort, waarbij Poort het poortnummer is. Voer ook de IBM Db2-database in die u wilt openen in Database. In dit voorbeeld zijn de servernaam en poort TestIBMDb2server.contoso.com:4000 en de IBM Db2-database die wordt NORTHWD2 gebruikt.

    Voer IBM Db2-databaseverbinding in.

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

    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 geavanceerde opties gebruiken

    Als u DirectQuery als uw gegevensverbindingsmodus selecteert, wordt SQL-instructie in de geavanceerde opties uitgeschakeld. DirectQuery biedt momenteel geen ondersteuning voor het pushen van query's boven op een native 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.

    Voer uw IBM Db2-databasereferenties in.

    Standaard probeert Power Query verbinding te maken met de IBM Db2-database met behulp van een versleutelde verbinding. Als Power Query geen verbinding kan maken met behulp van een versleutelde verbinding, wordt het dialoogvenster 'Kan geen verbinding maken' weergegeven. Selecteer OK om verbinding te maken met behulp van een niet-versleutelde verbinding.

    Dialoogvenster Kan geen verbinding maken

  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.

    Selecteer de gegevens die u nodig hebt in de database

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

Voer de volgende stappen uit om de verbinding tot stand te brengen:

  1. Selecteer de optie IBM Db2-database op de pagina Power Query - Verbinding maken naar gegevensbron.

  2. Geef de IBM Db2-server op om verbinding mee te maken in Server. Als een poort vereist is, geeft u deze op met behulp van de indeling ServerNaam:Poort, waarbij Poort het poortnummer is. Voer ook de IBM Db2-database in die u wilt openen in Database. In dit voorbeeld zijn de servernaam en poort TestIBMDb2server.contoso.com:4000 en de IBM Db2-database die wordt gebruikt 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 is.

  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 gebruiken als u een versleutelde verbinding wilt gebruiken of schakel de optie uit als u een niet-versleutelde verbinding wilt gebruiken.

    Voer de onlineverbinding met de IBM Db2-database in.

  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 te transformeren in Power Query Editor.

    Selecteer de gegevens die u wilt transformeren in de Navigator

Verbinding maken geavanceerde opties gebruiken

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

Geavanceerde opties die zijn opgenomen in het dialoogvenster IBM Db2-databaseverbinding.

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

Geavanceerde optie Description
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 er eerst voor zorgen dat 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 de verbinding langer duurt dan 10 minuten (de standaard time-out), kunt u binnen enkele minuten een andere waarde invoeren om de verbinding langer open te houden.
Pakketverzameling Hiermee geeft u op waar te zoeken naar pakketten. Pakketten zijn controlestructuren die door Db2 worden gebruikt bij het verwerken van 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-instructie Ga naar Gegevens importeren uit een database met behulp van een native databasequery voor meer informatie.
Relatiekolommen opnemen Indien ingeschakeld, bevat kolommen die mogelijk relaties met andere tabellen hebben. Als dit vak is gewist, ziet u deze kolommen niet.
Navigeren in de volledig hiërarchie Als dit is ingeschakeld, geeft de navigator de volledige hiërarchie van tabellen weer in de database die u wilt verbinden. Als dit is gewed, worden in de navigator 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 stuurprogramma dat wordt gebruikt in Microsoft Host Integration Server, met de naam ADO.NET Provider for 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 de naam is die werkt met .NET. Dit 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. Momenteel gebruikt Power Query Online 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 de problemen met het IBM-stuurprogramma kunnen worden opgelost.

Native query's die niet worden ondersteund in DirectQuery

Wanneer u DirectQuery selecteert als de modus voor gegevensconnectiviteit in Power Query Desktop, wordt het tekstvak SQL-instructie in de geavanceerde opties uitgeschakeld. Deze is uitgeschakeld omdat de Power Query IBM Db2-connector momenteel geen ondersteuning biedt voor het pushen van query's boven op een native 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 het stuurprogramma eerst downloaden, installeren en configureren op uw computer. 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 in de kolom InvariantName staat, 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, kan de algemene fout SQLCODE -805 worden weergegeven, wat aangeeft dat het pakket niet is gevonden in de verzameling of een andere verzameling (opgegeven in de configuratie van de NULLID Power Query Package-verbinding). U kunt ook de algemene fout SQLCODE -551 tegenkomen, wat aangeeft dat u geen pakketten kunt maken omdat u geen pakketbindingsinstantie 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 niet de bevoegdheid om het pakket aan een of NULLID de opgegeven verzameling te binden.

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

Als u geen bindingspakketbevoegdheden hebt, moet u uw Db2-beheerder vragen om de instantie voor pakketbinding. Maak met deze instantie voor pakketbinding verbinding met de database en haal gegevens op, waarmee het pakket automatisch wordt gemaakt. Daarna kan de beheerder de instantie voor pakketbinding intrekken. Daarna kan de beheerder het pakket ook 'binden' aan andere verzamelingen om de gelijktijdigheid te vergroten, zodat deze beter overeenkomen met uw interne standaarden voor waar pakketten zijn — gebonden, en meer.

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

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

    • BINDADD AAN HET SYSTEEM VERLENEN AAN <authorization_name>
    • PACKADM <collection_name> VERLENEN AAN <authorization_name>
  2. Maak Power Query 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 vervolgens execute op het pakket verlenen aan openbaar.

  3. Gebruik een van de volgende opdrachten om de bevoegdheid in te trekken om een nieuw pakket aan de gebruiker te binden:

    • BINDING INTREKKENADD VAN <authorization_name>
    • PACKADM <collection_name> INTREKKEN BIJ <authorization_name>

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

  1. VERLEEN BINDADD OP DATABASE AAN GEBRUIKER <authorization_name> .

  2. Maak Power Query 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 vervolgens execute op het pakket verlenen aan openbaar.

  3. BIND INTREKKENDE DATABASE IS TOEGEVOEGD AAN GEBRUIKER <authorization_name> .

  4. VERLEEN EXECUTE ON PACKAGE <collection.package> AAN GEBRUIKER <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. Wijzig daarna de instantie weer in *EXCLUDE.

SQLCODE -360-foutcode

Wanneer u verbinding probeert te maken met de IBM Db2-database, kan de volgende fout worden weergegeven:

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 niet de juiste waarde hebt gebruikt 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 te proberen de server te bereiken en ervoor te zorgen dat het IP-adres juist is, of gebruik telnet om te communiceren met de server.

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 weggelaten, wordt de standaardwaarde 50000 gebruikt.

Voer de volgende opdracht uit om te zoeken naar de poort die Db2 gebruikt voor Linux, Unix en Windows:

db2 get dbm cfg | findstr SVCENAME

Zoek in de uitvoer naar een vermelding voor SVCENAME (en zoek SSL_SVCENAME versleutelde TLS-verbindingen). Als deze waarde een getal is, is dat de poort. Anders wordt kruisverwijzing naar de waarde met de tabel 'services' van het systeem. U vindt dit meestal 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.

Afbeelding met uitvoer van de db2-opdracht in Linux en Unix

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

Afbeelding met uitvoer van de db2-opdracht in Windows

Databasenaam bepalen

De databasenaam bepalen die moet worden gebruikt:

  1. Voer uit op IBM DSPRDBDIRE i.

    Afbeelding met de uitvoer van de directory-vermeldingen van de relationele database weergeven

  2. Een van de vermeldingen heeft een externe locatie van **LOCAL*. Dit is de vermelding die u moet gebruiken.

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.

Als u wilt weten op welke poort de DRDA-service wordt uitgevoerd, doet u het volgende:

  1. Voer de IBM i-opdracht WRKSRVTBLE uit.

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

    Vermeldingen in servicetabel

  3. Voer uit om te bevestigen dat de DRDA-service is uitgevoerd en luistert op die NETSTAT poort.

    DRDA-luisteren

  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 poort in kwestie ziet. Deze moet een vermelding hebben met de status 'Luisteren'.

    IP-verbindingsstatus

Meer informatie