Color scheme: Riviera
You are here: start » de » Dokumentation » Datenintegration und Datenzugriff » WKL OData-ODBC-Treiber » Fehlerbehebung beim OData-ODBC-Treiber » „Der Dienst hat das Ergebnis nach N Zeilen gekürzt“

„Der Dienst hat das Ergebnis nach N Zeilen gekürzt“

Eine Pass-Through-Abfrage oder eine Abfrage über verknüpfte Tabellen, die der Treiber an die Datenbank durchreicht, zeigt zuerst Zeilen und bricht dann ab. Access meldet „ODBC-Aufruf fehlgeschlagen“, die Ablaufverfolgung oder eine andere Anwendung zeigt SQLSTATE HY000 mit der Meldung „Der Dienst hat das Ergebnis nach N Zeilen gekuerzt (Zeilenobergrenze des Dienstes); es ist unvollstaendig.“

Umgebung

Treiber ab Fassung 0.7.0, gegen einen Dienst mit einer Zeilenobergrenze, die er in der Antwort mit "truncated": true anzeigt, etwa den Datendienst Wkl.Data.Gateway (Gateway:Limits:MaxRows, in der Vorgabe 100 000 Zeilen, je Objekt einstellbar). Bis Fassung 0.6.0 lieferte der Treiber dieselbe gekürzte Menge ohne jede Meldung. Eine übersetzte Abfrage betrifft das nicht: Der Datendienst hält seine Seiten kleiner als die Zeilenobergrenze, und der Treiber liest über Folgeseiten weiter.

Ursache

Die Anweisung liefert mehr Zeilen, als der Dienst in einer Antwort zulässt. Der Dienst schickt die Zeilen bis zur Grenze und kennzeichnet die Antwort als gekürzt; das Kennzeichen steht hinter den Zeilen. Der Treiber gibt die gelieferten Zeilen weiter und meldet danach den Fehler, damit niemand mit einer unvollständigen Menge weiterarbeitet, die wie das ganze Ergebnis aussieht. Eine durchgereichte Anweisung kennt keine Folgeseiten, über die der Rest nachgeladen werden könnte.

Behebung

  1. Grenzen Sie die Anweisung ein, sodass sie weniger Zeilen liefert: eine Bedingung, eine Gruppierung oder eine Seite mit ORDER BY … OFFSET … FETCH.
  2. Liest die Anwendung eine einzelne Tabelle, lassen Sie den Treiber die Abfrage übersetzen statt durchzureichen: Eine übersetzte Abfrage liest das Ergebnis in Seiten nach (@odata.nextLink), statt es in einer einzigen Antwort zu erwarten; siehe Unterstütztes SQL.
  3. Braucht die Anwendung das ganze Ergebnis, lassen Sie beim Betreiber des Dienstes die Grenze für dieses Objekt oder für eigene Anweisungen anheben.

Verwandte Themen

de/wiki/data-conectivity/odata-odbc/troubleshooting/result-truncated.txt · Last modified: by Wolfgang van der Stille