Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zusammenfassung
| Element | Beschreibung |
|---|---|
| Releasestatus | Allgemeine Verfügbarkeit |
| Produkte | Excel Power BI (Semantikmodelle) Power BI (Datenflüsse) Fabric (Dataflow Gen2) Power Apps (Datenflüsse) Dynamics 365 Customer Insights |
| Unterstützte Authentifizierungstypen | Basic Datenbank Windows |
| Referenzdokumentation zur Funktion | DB2.Database |
Anmerkung
Einige Funktionen sind möglicherweise in einem Produkt vorhanden, aber nicht in anderen, aufgrund von Bereitstellungszeitplänen und hostspezifischen Fähigkeiten.
Voraussetzungen
Standardmäßig verwendet der IBM Db2-Datenbankconnector den Microsoft-Treiber, um eine Verbindung mit Ihren Daten herzustellen. Wenn Sie den IBM-Treiber in den erweiterten Optionen in Power Query Desktop verwenden möchten, müssen Sie zuerst den IBM Db2-Treiber für .NET auf dem Computer installieren, der zum Herstellen einer Verbindung mit den Daten verwendet wird. Der Name dieses Treibers ändert sich von Zeit zu Zeit. Installieren Sie daher unbedingt den IBM Db2-Treiber, der mit .NET funktioniert. Anweisungen zum Herunterladen, Installieren und Konfigurieren des IBM Db2-Treibers für .NET finden Sie unter Download anfänglicher Clients und Treiber der Version 11.5. Weitere Informationen: Treiberbeschränkungen, Stellen Sie sicher, dass der IBM Db2-Treiber installiert ist
Unterstützte Funktionen
- Importieren
- DirectQuery (Power BI-Semantikmodelle)
- Erweiterte Optionen
- Treiber (IBM oder Microsoft)
- Befehlstimeout in Minuten
- Paketauflistung
- SQL-Anweisung
- Beziehungsspalten einbeziehen
- Navigieren mithilfe der vollständigen Hierarchie
Herstellen einer Verbindung mit einer IBM Db2-Datenbank über Power Query Desktop
Führen Sie die folgenden Schritte aus, um die Verbindung herzustellen:
Wählen Sie unter Daten abrufen die Option IBM Db2-Datenbank aus.
Geben Sie den IBM Db2-Server an, zu dem in Servereine Verbindung hergestellt werden soll. Wenn ein Port erforderlich ist, geben Sie ihn mithilfe des Formats ServerName:Portan, wobei Port die Portnummer ist. Geben Sie auch die IBM Db2-Datenbank ein, auf die Sie in Databasezugreifen möchten. In diesem Beispiel sind der Servername und der Port
TestIBMDb2server.contoso.com:4000und die zugegriffene IBM Db2-Datenbank istNORTHWD2.
Wenn Sie eine Verbindung über Power BI Desktop herstellen, wählen Sie entweder den Datenverbindungsmodus Import oder DirectQuery aus. In den restlichen Beispielschritten wird der Importdatenkonnektivitätsmodus verwendet. Weitere Informationen zu DirectQuery finden Sie unter Verwenden von DirectQuery in Power BI Desktop.
Anmerkung
Standardmäßig verwendet das Ibm Db2-Datenbankdialogfeld den Microsoft-Treiber bei der Anmeldung. Wenn Sie den IBM-Treiber verwenden möchten, öffnen Sie Advanced-Optionen, und wählen Sie IBMaus. Weitere Informationen finden Sie unter "Verbinden mit erweiterten Optionen".
Wenn Sie DirectQuery als Datenkonnektivitätsmodus auswählen, ist die SQL-Anweisung in den erweiterten Optionen deaktiviert. DirectQuery unterstützt derzeit keine Pushdown-Abfrage auf einer einheimischen Datenbankabfrage für den IBM Db2 Connector.
Wählen Sie OKaus.
Wenn Sie zum ersten Mal eine Verbindung mit dieser IBM Db2-Datenbank herstellen, wählen Sie den Authentifizierungstyp aus, den Sie verwenden möchten, geben Sie Ihre Anmeldeinformationen ein, und wählen Sie dann "Verbinden" aus. Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung mit einer Datenquelle.
Power Query versucht standardmäßig, mithilfe einer verschlüsselten Verbindung eine Verbindung mit der IBM Db2-Datenbank herzustellen. Wenn Power Query keine Verbindung mit einer verschlüsselten Verbindung herstellen kann, wird ein Dialogfeld "Keine Verbindung herstellen" angezeigt. Wenn Sie eine Verbindung mit einer unverschlüsselten Verbindung herstellen möchten, wählen Sie OKaus.
Wählen Sie in Navigator die gewünschten Daten aus, und wählen Sie dann entweder Laden oder Daten transformieren aus, um die Daten zu laden oder zu transformieren.
Verbindung zu einer IBM Db2-Datenbank mit Power Query Online herstellen
Führen Sie die folgenden Schritte aus, um die Verbindung herzustellen:
Wählen Sie auf der Seite Power Query – Mit Datenquelle verbinden die Option IBM Db2-Datenbank aus.
Geben Sie den IBM Db2-Server an, zu dem in Servereine Verbindung hergestellt werden soll. Wenn ein Port erforderlich ist, geben Sie ihn mithilfe des Formats ServerName:Portan, wobei Port die Portnummer ist. Geben Sie auch die IBM Db2-Datenbank ein, auf die Sie in Databasezugreifen möchten. In diesem Beispiel sind der Servername und der Port
TestIBMDb2server.contoso.com:4000und die zugegriffene IBM Db2-Datenbank istNORTHWD2Wählen Sie den Namen Ihres lokalen Datengateways aus.
Anmerkung
Sie müssen ein lokales Datengateway für diesen Connector auswählen, unabhängig davon, ob sich die IBM Db2-Datenbank in Ihrem lokalen Netzwerk oder online befindet.
Wenn Sie zum ersten Mal eine Verbindung mit dieser IBM Db2-Datenbank herstellen, wählen Sie den Typ der Anmeldeinformationen für die Verbindung in Authentifizierungsart aus. Wählen Sie "Basic" aus, wenn Sie ein konto verwenden möchten, das in der IBM Db2-Datenbank anstelle der Windows-Authentifizierung erstellt wurde.
Geben Sie Ihre Anmeldeinformationen ein.
Wählen Sie Verschlüsselte Verbindung verwenden aus, wenn Sie eine verschlüsselte Verbindung verwenden möchten, oder deaktivieren Sie die Option, wenn Sie eine unverschlüsselte Verbindung verwenden möchten.
Wählen Sie Weiter aus, um fortzufahren.
Wählen Sie in Navigator die benötigten Daten und dann Daten transformieren aus, um die Daten im Power Query-Editor zu transformieren.
Herstellen einer Verbindung mit erweiterten Optionen
Power Query bietet bei Bedarf eine Reihe erweiterter Optionen, die Sie Ihrer Abfrage hinzufügen können.
In der folgenden Tabelle sind alle erweiterten Optionen aufgeführt, die Sie in Power Query festlegen können.
| Erweiterte Option | Beschreibung |
|---|---|
| Fahrer | Bestimmt, welcher Treiber für die Verbindung mit Ihrer IBM Db2-Datenbank verwendet wird. Die Auswahlmöglichkeiten sind IBM und Windows (Standard). Wenn Sie den IBM-Treiber auswählen, müssen Sie zuerst sicherstellen, dass der IBM Db2-Treiber für .NET auf Ihrem Computer installiert ist. Diese Option ist nur in Power Query Desktop verfügbar. Weitere Informationen: Stellen Sie sicher, dass der IBM Db2-Treiber installiert ist. |
| Befehlstimeout in Minuten | Wenn Ihre Verbindung länger als 10 Minuten dauert (das Standardtimeout), können Sie einen anderen Wert in Minuten eingeben, um die Verbindung länger geöffnet zu halten. |
| Paketauflistung | Gibt an, wo nach Paketen gesucht werden soll. Pakete sind Kontrollstrukturen, die von Db2 bei der Verarbeitung einer SQL-Anweisung verwendet werden und bei Bedarf automatisch erstellt werden. Standardmäßig verwendet diese Option den Wert NULLID. Nur verfügbar, wenn Sie den Microsoft-Treiber verwenden. Weitere Informationen: DB2-Pakete: Konzepte, Beispiele und häufige Probleme |
| SQL-Anweisung | Informationen hierzu erhalten Sie unter Importieren von Daten aus einer Datenbank mithilfe der native Datenbankabfrage. |
| Beziehungsspalten einbeziehen | Wenn aktiviert, enthält die Option Spalten, die möglicherweise Beziehungen zu anderen Tabellen haben. Wenn dieses Feld deaktiviert ist, werden diese Spalten nicht angezeigt. |
| Navigieren mithilfe der vollständigen Hierarchie | Wenn diese Option aktiviert ist, zeigt der Navigator die vollständige Hierarchie von Tabellen in der Datenbank an, mit der Sie eine Verbindung herstellen. Wenn deaktiviert, zeigt der Navigator nur die Tabellen an, deren Spalten und Zeilen Daten enthalten. |
Nachdem Sie die erweiterten Optionen ausgewählt haben, die Sie benötigen, wählen Sie "OK " in Power Query Desktop oder "Weiter " in Power Query Online aus, um eine Verbindung mit Ihrer IBM Db2-Datenbank herzustellen.
Probleme und Einschränkungen
Treiberbeschränkungen
Der Microsoft-Treiber ist derselbe, der in Microsoft Host Integration Server verwendet wird, der als "ADO.NET Anbieter für DB2" bezeichnet wird. Der IBM-Treiber ist der IBM Db/2-Treiber, der mit .NET arbeitet. Der Name dieses Treibers ändert sich von Zeit zu Zeit. Stellen Sie also sicher, dass es sich um den handelt, der mit .NET funktioniert, da er sich von den IBM Db2-Treibern unterscheidet, die mit OLE/DB, ODBC oder JDBC arbeiten.
Sie können entweder den Microsoft-Treiber (Standard) oder den IBM-Treiber verwenden, wenn Sie Power Query Desktop verwenden. Derzeit verwendet Power Query Online nur den Microsoft-Treiber. Jeder Treiber hat seine Einschränkungen.
- Microsoft-Treiber
- Unterstützt Transport Layer Security (TLS) erst ab der Version von Power BI Desktop vom Dezember 2024 oder später.
- IBM-Treiber
- Der IBM Db2-Datenbankconnector funktioniert bei Verwendung des IBM Db2-Treibers für .NET nicht mit Mainframe- oder IBM i-Systemen
- Unterstützt DirectQuery nicht
Microsoft bietet Unterstützung für den Microsoft-Treiber, aber nicht für den IBM-Treiber. Wenn Ihre IT-Abteilung sie jedoch bereits auf Ihren Computern eingerichtet und konfiguriert hat, sollte Ihre IT-Abteilung wissen, wie Sie probleme mit dem IBM-Treiber beheben können.
In DirectQuery werden native Abfragen nicht unterstützt.
Wenn Sie DirectQuery als Datenkonnektivitätsmodus in Power Query Desktop auswählen, ist das Textfeld der SQL-Anweisung in den erweiterten Optionen deaktiviert. Das Feld ist deaktiviert, weil der Power Query IBM Db2-Connector derzeit keinen Pushdown für Abfragen über eine native Datenbankabfrage unterstützt.
Fehlerbehebung
Stellen Sie sicher, dass der IBM Db2-Treiber installiert ist.
Wenn Sie den IBM Db2-Treiber für Power Query Desktop verwenden möchten, müssen Sie zuerst den Treiber auf Ihrem Computer herunterladen, installieren und konfigurieren. So stellen Sie sicher, dass der IBM Db2-Treiber installiert ist:
Öffnen Sie Windows PowerShell auf Ihrem Computer.
Geben Sie den folgenden Befehl ein:
[System.Data.Common.DbProviderFactories]::GetFactoryClasses() | ogvIn Dialogfenster, das geöffnet wird, sollten Sie in der Spalte InvariantName den folgenden Namen sehen:
IBM.Data.DB2
Wenn sich dieser Name in der Spalte "InvariantName " befindet, wird der IBM Db2-Treiber installiert und ordnungsgemäß konfiguriert.
Fehlercodes SQLCODE -805 und SQLCODE -551
Wenn Sie versuchen, eine Verbindung mit einer IBM Db2-Datenbank herzustellen, tritt manchmal der häufige Fehler SQLCODE -805 auf, der angibt, dass das Paket nicht in der NULLID oder einer anderen Auflistung gefunden wird (in der Power Query-Paketverbindungskonfiguration angegeben). Möglicherweise tritt auch der häufige Fehler SQLCODE -551 auf, der angibt, dass Sie keine Pakete erstellen können, da Sie keine Paketbindungsautorität besitzen.
Typischerweise folgt auf SQLCODE -805 der SQLCODE -551, aber nur die zweite Ausnahme wird angezeigt. In wirklichkeit ist das Problem dasselbe. Sie sind nicht berechtigt, das Paket entweder an NULLID oder an die angegebene Sammlung zu binden.
In der Regel verleihen die meisten IBM Db2-Administratoren den Endbenutzern keine Bind-Paket-Autorität – insbesondere in einer IBM z/OS (Mainframe) oder IBM i (AS/400)-Umgebung. Db2 unter Linux, Unix oder Windows unterscheidet sich darin, dass Benutzerkonten standardmäßig Bind-Berechtigungen besitzen, wodurch das MSCS001-Paket (Cursor-Stabilität) in der eigenen Kollektion des Benutzers erstellt wird (Name = Benutzername).
Wenn Sie keine Binderechte für Pakete besitzen, müssen Sie Ihren Db2-Administrator um die Berechtigung zur Paketbindung bitten. Stellen Sie mit dieser Paketbindungsautorität eine Verbindung mit der Datenbank her, und rufen Sie Daten ab, wodurch das Paket automatisch erstellt wird. Anschließend kann der Administrator die Verpackungsbindungsautorität widerrufen. Außerdem kann die Administration anschließend eine Kopie des Pakets an andere Sammlungen „binden“ – um die Parallelität zu erhöhen, um die internen Standards für die Paketbindung einzuhalten und so weiter.
Wenn Sie eine Verbindung mit IBM Db2 für z/OS herstellen, kann der Db2-Administrator die folgenden Schritte ausführen.
Erteilen Sie die Berechtigung, ein neues Paket mit einem der folgenden Befehle einem Benutzer zuzuordnen.
- GRANT BINDADD ON SYSTEM TO <Name_der_Autorisierung>
- GRANT PACKADM ON <Name_der_Sammlung> TO <Name_der_Autorisierung>
Stellen Sie mithilfe von Power Query eine Verbindung mit der IBM Db2-Datenbank her, und rufen Sie eine Liste von Schemas, Tabellen und Ansichten ab. Der Power Query IBM Db2-Datenbank-Connector erstellt automatisch das Paket NULLID.MSCS001 und gewährt dann dem öffentlichen Benutzer die Ausführungsrechte für das Paket.
Widerrufen Sie die Berechtigung, ein neues Paket an Benutzende zu binden, mit einem der folgenden Befehle:
- REVOKE BINDADD FROM <Name_der_Autorisierung>
- REVOKE PACKADM ON <Name_der_Sammlung> FROM <authorization_name>
Wenn Sie eine Verbindung mit IBM Db2 für Linux, Unix oder Windows herstellen, kann der Db2-Administrator die folgenden Schritte ausführen.
GRANT BINDADD ON DATABASE TO USER <Name_der_Autorisierung>.
Stellen Sie mithilfe von Power Query eine Verbindung mit der IBM Db2-Datenbank her, und rufen Sie eine Liste von Schemas, Tabellen und Ansichten ab. Der Power Query IBM Db2-Connector erstellt automatisch das Paket NULLID.MSCS001 und gewährt dann Ausführungsrechte für das Paket an die Öffentlichkeit.
REVOKE BINDADD ON DATABASE FROM USER <Name_der_Autorisierung>.
GRANT EXECUTE ON PACKAGE <Sammlung.Paket> TO USER <authorization_name>.
Wenn Sie eine Verbindung mit IBM Db2 für i herstellen, kann der Db2-Administrator die folgenden Schritte ausführen.
WRKOBJ QSYS/CRTSQLPKG. Geben Sie "2" ein, um die Objektautorität zu ändern.
Ändern Sie die autoritative Stelle von *EXCLUDE in PUBLIC oder <Name_der-Autorisierung>.
Ändern Sie anschließend die autoritative Stelle wieder in *EXCLUDE zurück.
Fehlercode „SQLCODE -360“
Beim Versuch, eine Verbindung mit der IBM Db2-Datenbank herzustellen, tritt möglicherweise der folgende Fehler auf:
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
Diese Fehlermeldung gibt an, dass Sie den richtigen Wert für den Namen der Datenbank nicht angegeben haben.
Fehlercode „SQLCODE -1336“
The specified host could not be found.
Überprüfen Sie den Namen, und vergewissern Sie sich, dass der Host erreichbar ist. Verwenden Sie beispielsweise Ping- in einer Eingabeaufforderung, um zu versuchen, den Server zu erreichen und sicherzustellen, dass die IP-Adresse korrekt ist, oder verwenden Sie Telnet- für die Kommunikation mit dem Server.
SQLCODE -1037-Fehlercode
Host is reachable, but is not responding on the specified port.
Der Port wird am Ende des Servernamens angegeben, getrennt durch einen Doppelpunkt. Wird dieser Wert nicht angegeben, wird der Standardwert 50000 verwendet.
Um den Port Db2 zu finden, der für Linux, Unix und Windows verwendet wird, führen Sie den folgenden Befehl aus:
db2 get dbm cfg | findstr SVCENAME
Suchen Sie in der Ausgabe nach einem Eintrag für SVCENAME (und SSL_SVCENAME für TLS-verschlüsselte Verbindungen). Wenn dieser Wert eine Zahl ist, ist dies der Port. Andernfalls vergleichen Sie den Wert mit der Tabelle „Dienste“ des Systems. In der Regel finden Sie diese Tabelle unter "/etc/services" oder unter "c:\windows\system32\drivers\etc\services für Windows".
Der folgende Screenshot zeigt die Ausgabe dieses Befehls in Linux/Unix.
Der folgende Screenshot zeigt die Ausgabe dieses Befehls in Windows.
Ermitteln des Datenbanknamens
So bestimmen Sie den zu verwendenden Datenbanknamen:
Führen Sie
DSPRDBDIREunter auf IBM i aus.
Einer der Einträge weist einen Remote-Standort von *LOKAL auf. Dieser Eintrag ist der zu verwendende.
Portnummer ermitteln
Der Microsoft-Treiber stellt mithilfe des DRDA-Protokolls (Distributed Relational Database Architecture) eine Verbindung mit der Datenbank bereit. Der Standardport für DRDA ist Port 446. Versuchen Sie es zuerst mit diesem Wert.
Um sicher herauszufinden, auf welchem Port der DRDA-Dienst ausgeführt wird:
Führen Sie den IBM i-Befehl
WRKSRVTBLEaus.Scrollen Sie nach unten, bis Sie die Einträge für DRDA finden.
Führen Sie
NETSTATaus, um zu bestätigen, dass der DRDA-Dienst aktiviert ist und diesen Port überwacht.
Wählen Sie entweder Option 3 (für IPv4) oder Option 6 (für IPv6) aus.
Drücken Sie F14, um die Portnummern anstelle von Namen aufzurufen, und scrollen Sie, bis Sie den betreffenden Port gefunden haben. Es sollte einen Eintrag im "Listen"-Zustand haben.