Sequenz der Statusdatensätze

Wenn zwei oder mehr Statusdatensätze zurückgegeben werden, werden der Treiber-Manager und der Treiber entsprechend den folgenden Regeln bewertet. Der Datensatz mit dem höchsten Rang ist der erste Datensatz. Die Quelle eines Datensatzes (Treiber-Manager, Treiber, Gateway usw.) wird beim Bewerten von Datensätzen nicht berücksichtigt.

  • Fehlerstatusdatensätze , die Fehler beschreiben, weisen die höchste Rangfolge auf. Bei Fehlerdatensätzen werden Datensätze, die auf einen Transaktionsfehler oder einen möglichen Transaktionsausfall hinweisen, alle anderen Datensätze verrankt. Wenn zwei oder mehr Datensätze die gleiche Fehlerbedingung beschreiben, haben SQLSTATEs, die durch die Open Group CLI-Spezifikation (Klassen 03 bis HZ) definiert sind, ODBC-definierte und treiberdefinierte SQLSTATEs ausrangiert.

  • Implementierungsdefinierte No Data Values Status-Datensätze, die treiberdefiniert keine Datenwerte (Klasse 02) beschreiben, weisen die zweithöchste Rangfolge auf.

  • Warnungsstatuseinträge , die Warnungen (Klasse 01) beschreiben, weisen den niedrigsten Rang auf. Wenn zwei oder mehr Datensätze die gleiche Warnungsbedingung beschreiben, haben SQLSTATEs, die von der Open Group CLI-Spezifikation definiert sind, ODBC-definierte und treiberdefinierte SQLSTATEs nicht mehr unterstützt.

Wenn zwei oder mehr Datensätze mit der höchsten Rangfolge vorhanden sind, ist es nicht definiert, welcher Datensatz der erste Datensatz ist. Die Reihenfolge aller anderen Datensätze ist nicht definiert. Insbesondere, da Warnungen vor Fehlern auftreten können, sollten Anwendungen alle Statusdatensätze überprüfen, wenn eine Funktion einen anderen Wert als SQL_SUCCESS zurückgibt.