Freigeben über


Sequenz der Statusdatensätze

Wenn zwei oder mehr Statusdatensätze zurückgegeben werden, stufen der Treiber-Manager und der Treiber diese entsprechend den folgenden Regeln ein. 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.

  • Fehler Statusdatensätze, die Fehler beschreiben, weisen die höchste Rangfolge auf. Bei den Fehlerdatensätzen werden die Datensätze, die auf einen Transaktionsfehler oder einen möglichen Transaktionsausfall hinweisen, über alle anderen Datensätze hinaus priorisiert. Wenn zwei oder mehr Datensätze dieselbe Fehlerbedingung beschreiben, haben SQLSTATEs, die durch die Open Group CLI-Spezifikation (Klassen 03 bis HZ) definiert sind, Vorrang vor den ODBC-definierten und treiberdefinierten SQLSTATEs.

  • Implementierungsdefinierte Nicht-Datenwerte Statusdatensätze, die durch den Treiber definierte Nicht-Datenwerte (Klasse 02) beschreiben, haben die zweithöchste Rangfolge.

  • Warnungen Statusdatensätze, 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, Vorrang vor von ODBC-definierten und treiberdefinierten SQLSTATEs.

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.