Auf Englisch lesen

Freigeben über


Testen und Fehlersuche für einen ODBC-basierten Connector

Während Sie Ihren ODBC-basierten Connector erstellen, ist es eine gute Idee, den Connector gelegentlich zu testen und Fehler zu beheben. In diesem Abschnitt wird beschrieben, wie Sie einige Test- und Fehlerbehebungswerkzeuge einrichten und verwenden können.

Verwenden Sie das Verfolgungswerkzeug in Power BI Desktop

Eines der grundlegenden Werkzeuge für das Testen und die Fehlerbehebung eines ODBC-basierten Connectors ist die Möglichkeit, in Power BI Desktop die Ablaufverfolgung zu verwenden, um festzustellen, warum Fehler auftreten können.

So aktivieren Sie die Ablaufverfolgung in Power BI Desktop:

  1. Wechseln Sie zu Datei > Optionen und Einstellungen > Optionen.
  2. Wählen Sie die Registerkarte Diagnose aus.
  3. Wählen Sie die Option Verfolgung einschalten.
  4. Wählen Sie den Link Spurenordner öffnen (sollte %LOCALAPPDATA%/Microsoft/Power BI Desktop/Tracessein).
  5. Vorhandene Trace-Dateien löschen.
  6. Machen Sie Ihre Tests.
  7. Schließen Sie Power BI Desktop, um sicherzustellen, dass alle Protokolldateien auf der Festplatte gespeichert werden.

Im Folgenden finden Sie einige Schritte, die Sie für erste Tests in Power BI Desktop durchführen können:

  1. Schließen Sie Power BI Desktop.
  2. Löschen Sie Ihr Trace-Verzeichnis.
  3. Öffnen Sie den Power BI-Desktop, und aktivieren Sie die Ablaufverfolgung.
  4. Stellen Sie eine Verbindung zu Ihrer Datenquelle her, und wählen Sie den Modus Direktabfrage.
  5. Markieren Sie eine Tabelle im Navigator und wählen Sie Bearbeiten.
  6. Manipulieren Sie die Abfrage auf verschiedene Weise, einschließlich:
    • Nehmen Sie die ersten N Zeilen (z. B. 10).
    • Setzen Sie Gleichheitsfilter für verschiedene Datentypen (int, string, bool usw.).
    • Setzen Sie andere Bereichsfilter (größer als, kleiner als).
    • Filter auf NULL / NOT NULL.
    • Wählen Sie eine Untergruppe von Spalten aus.
    • Aggregieren/Gruppieren nach verschiedenen Spaltenkombinationen.
    • Eine aus anderen Spalten berechnete Spalte hinzufügen ([C] = [A] + [B]).
    • Sortieren nach einer Spalte oder mehreren Spalten.
  7. Ausdrücke, die nicht gefaltet werden können, führen zu einer Warnleiste. Notieren Sie den Fehler, entfernen Sie den Schritt und gehen Sie zum nächsten Testfall über. Einzelheiten über die Ursache des Fehlers müssen in die Trace-Protokolle aufgenommen werden.
  8. Schließen Sie Power BI Desktop.
  9. Kopieren Sie die Trace-Dateien in ein neues Verzeichnis.
  10. Öffnen Sie die Trace-Dateien mit einem Texteditor Ihrer Wahl.
  11. Suche nach OdbcQuery/FoldingWarning Einträgen in den Trace-Dateien. Diese Einträge müssen weitere Informationen darüber enthalten, warum die Abfrage-Engine glaubt, dass Query Folding für diesen Vorgang nicht möglich ist.

Sobald Sie mit einfachen Abfragen vertraut sind, können Sie DirectQuery-Szenarien ausprobieren (z. B. die Erstellung von Berichten in den Berichtsansichten). Die im DirectQuery-Modus generierten Abfragen sind wesentlich komplexer (d.h. Verwendung von Sub-Selects, COALESCE-Anweisungen und Aggregationen).

Verkettung von Zeichenketten im DirectQuery-Modus

Die M-Engine führt als Teil ihrer Abfrage-Faltlogik eine grundlegende Überprüfung der Typgrößenbegrenzung durch. Wenn Sie einen Faltfehler erhalten, wenn Sie versuchen, zwei Zeichenfolgen zu verketten, die möglicherweise die maximale Größe des zugrunde liegenden Datenbanktyps überschreiten:

  1. Stellen Sie sicher, dass Ihre Datenbank die Aufwärtskonvertierung in CLOB-Typen unterstützt, wenn ein Überlauf bei der Stringverkettung auftritt.
  2. Setzen Sie die Option TolerateConcatOverflow für Odbc.DataSource auf true.

Hinweis

Die DAX CONCATENATE-Funktion wird derzeit nicht von Power Query/ODBC-Erweiterungen unterstützt. Autoren von Erweiterungen müssen sicherstellen, dass die String-Verkettung über den Abfrage-Editor funktioniert, indem sie berechnete Spalten hinzufügen ([stringCol1] & [stringCol2]). Wenn die Fähigkeit, die CONCATENATE-Operation zu falten, in Zukunft hinzugefügt wird, sollte sie nahtlos mit bestehenden Erweiterungen funktionieren.