Freigeben über


Diagnosedatensätze

Die einzelnen Umgebungen, Verbindungen, Anweisungen und Beschreibungshandle sind Diagnosedatensätze. Diese Datensätze enthalten Diagnoseinformationen über die zuletzt aufgerufene Funktion, die ein bestimmtes Handle verwendet hat. Die Datensätze werden nur ersetzt, wenn eine andere Funktion mit diesem Handle aufgerufen wird. Es gibt keine Beschränkung auf die Anzahl der Diagnosedatensätze, die jederzeit gespeichert werden können.

Es gibt zwei Arten von Diagnosedatensätzen: einen Headerdatensatz und null oder mehr Statuseinträge. Der Kopfzeilendatensatz ist Datensatz 0; die Statusdatensätze sind Datensätze 1 und höher. Diagnosedatensätze bestehen aus mehreren separaten Feldern, die sich für den Kopfzeilendatensatz und die Statusdatensätze unterscheiden. Darüber hinaus können ODBC-Komponenten ihre eigenen Diagnosedatensatzfelder definieren.

Obwohl Diagnosedatensätze als Strukturen betrachtet werden können, ist es nicht erforderlich, dass sie tatsächlich Strukturen sein müssen; wie ein Treiber die Diagnoseinformationen speichert, ist treiberspezifisch.

Felder in Diagnosedatensätzen werden mit SQLGetDiagField abgerufen. Die Felder SQLSTATE, systemeigene Fehlernummer und Diagnosenachrichten von Statusdatensätzen können in einem einzigen Aufruf mit SQLGetDiagRec abgerufen werden.

In diesem Abschnitt werden die folgenden Themen behandelt: