Freigeben über


Fehler und Batches

Wenn beim Ausführen einer Reihe von SQL-Anweisungen ein Fehler auftritt, sind eines der folgenden vier Ergebnisse möglich. (Jedes mögliche Ergebnis ist datenquellenspezifisch und kann sogar von den anweisungen abhängen, die im Batch enthalten sind.)

  • Es werden keine Anweisungen im Batch ausgeführt.

  • Es werden keine Anweisungen im Batch ausgeführt, und die Transaktion wird zurückgesetzt.

  • Alle Anweisungen vor der Fehleranweisungen werden ausgeführt.

  • Alle Anweisungen mit Ausnahme der Error-Anweisung werden ausgeführt.

In den ersten beiden Fällen geben SQLExecute und SQLExecDirect SQL_ERROR zurück. In den letzten beiden Fällen können sie je nach Umsetzung SQL_SUCCESS_WITH_INFO oder SQL_SUCCESS zurückgeben. In allen Fällen können weitere Fehlerinformationen mit SQLGetDiagField, SQLGetDiagRec oder SQLError abgerufen werden. Die Art und Tiefe dieser Informationen sind jedoch datenquellenspezifisch. Darüber hinaus ist es unwahrscheinlich, dass diese Informationen genau die Fehlerausweisung identifizieren.