Dela via


Regler för diagnostikhantering

Följande regler styr diagnostikhanteringen i SQLGetDiagRec och SQLGetDiagField.

För alla ODBC-komponenter:

  • Får inte ersätta, ändra eller maskera fel eller varningar som tas emot från en annan ODBC-komponent.

  • Kan lägga till ytterligare en statuspost när de får ett diagnostikmeddelande från en annan ODBC-komponent. Den tillagda posten måste ge verkligt informationsvärde till det ursprungliga meddelandet.

För ODBC-komponenten som gränssnittar direkt med en datakälla:

  • Måste prefixa leverantörsidentifieraren, dess komponentidentifierare och datakällans identifierare till diagnostikmeddelandet som den tar emot från datakällan.

  • Måste bevara datakällans interna felkod.

  • Måste bevara datakällans diagnostikmeddelande.

För alla ODBC-komponenter som genererar ett fel eller en varning oberoende av datakällan:

  • Måste ange rätt SQLSTATE för felet eller varningen.

  • Måste generera texten i diagnostikmeddelandet.

  • Måste prefixa leverantörsidentifieraren och dess komponentidentifierare till diagnostikmeddelandet.

  • Måste returnera en intern felkod, om en är tillgänglig och meningsfull.

För ODBC-komponenten som samverkar med Driver Manager:

  • Måste initiera utdataargumenten för SQLGetDiagRec och SQLGetDiagField.

  • Måste formatera och returnera diagnostikinformationen som utdataargument för SQLGetDiagRec och SQLGetDiagField när den funktionen anropas.

För en annan ODBC-komponent än Driver Manager:

  • Måste ange SQLSTATE baserat på det interna felet. För filbaserade drivrutiner och DBMS-baserade drivrutiner som inte använder en gateway måste drivrutinen ange SQLSTATE. För DBMS-baserade drivrutiner som använder en gateway kan antingen drivrutinen eller en gateway som stöder ODBC ange SQLSTATE.