Teilen über


Diagnosemeldungen

Eine Diagnosenachricht wird mit jedem SQLSTATE zurückgegeben. Derselbe SQLSTATE wird häufig mit einer Reihe unterschiedlicher Nachrichten zurückgegeben. Beispielsweise wird SQLSTATE 42000 (Syntaxfehler oder Zugriffsverletzung) für die meisten Fehler in der SQL-Syntax zurückgegeben. Jeder Syntaxfehler wird jedoch wahrscheinlich durch eine andere Meldung beschrieben.

Beispieldiagnosemeldungen werden in der Spalte "Fehler" in der Tabelle mit SQLSTATEs in Anhang A und in jeder Funktion aufgeführt. Obwohl Treiber diese Nachrichten zurückgeben können, sind sie wahrscheinlicher, dass sie jede Nachricht zurückgeben, die von der Datenquelle an sie übergeben wird.

Anwendungen zeigen dem Benutzer in der Regel Diagnosemeldungen zusammen mit sqlSTATE und systemeigenem Fehlercode an. Auf diese Weise können Benutzer und Supportmitarbeiter die Ursache von Problemen ermitteln. Die in die Nachricht eingebetteten Komponenteninformationen sind besonders hilfreich.

Diagnosemeldungen stammen aus Datenquellen und Komponenten in einer ODBC-Verbindung, z. B. Treiber, Gateways und treiber-Manager. In der Regel unterstützen Datenquellen ODBC nicht direkt. Wenn eine Komponente in einer ODBC-Verbindung daher eine Nachricht von einer Datenquelle empfängt, muss sie die Datenquelle als Quelle der Nachricht identifizieren. Sie muss sich auch als Die Komponente identifizieren, die die Nachricht empfangen hat.

Wenn es sich bei der Quelle eines Fehlers oder einer Warnung um eine Komponente selbst handelt, muss die Diagnosemeldung dies erklären. Daher weist der Text von Nachrichten zwei verschiedene Formate auf. Bei Fehlern und Warnungen, die nicht in einer Datenquelle auftreten, muss die Diagnosenachricht dieses Format verwenden:

[Vendor-Identifier][ODBC-component-identifier]component-supplied-text

Bei Fehlern und Warnungen, die in einer Datenquelle auftreten, muss die Diagnosenachricht dieses Format verwenden:

[Vendor-Identifier][ODBC-component-identifier][data-source-identifier]data-source-supplied-text

Die folgende Tabelle zeigt die Bedeutung der einzelnen Elemente.

Element Bedeutung
Anbieter-ID Gibt den Anbieter der Komponente an, in der der Fehler oder die Warnung aufgetreten ist oder die den Fehler oder die Warnung direkt von der Datenquelle erhalten hat.
ODBC-Komponentenbezeichner Gibt die Komponente an, in der der Fehler oder die Warnung aufgetreten ist oder die den Fehler oder die Warnung direkt von der Datenquelle erhalten hat.
Datenquellenbezeichner Identifiziert die Datenquelle. Bei dateibasierten Treibern ist dies in der Regel ein Dateiformat, z. B. Xbase[1] Für DBMS-basierte Treiber ist dies das DBMS-Produkt.
von Komponenten bereitgestellter Text Von der ODBC-Komponente generiert.
von der Datenquelle bereitgestellter Text Wird von der Datenquelle generiert.

[1] In diesem Fall fungiert der Treiber sowohl als Treiber als auch als Datenquelle.

Klammern ([ ]) müssen in der Nachricht enthalten sein und keine optionalen Elemente angeben.