Databasteknik: Svar till övningar - kapitel 20
I kodexemplet med SQLPrepare och SQLExecute på sidan 378
skrivs felmeddelanden ut om funktionsanropen inte returnerar
SQL_SUCCESS.
Vilka typer av fel kan inträffa i respektive anrop?
SQLPrepare
På
http://odbcrouter.com/api/SQLPrepare.shtml
finns en (inte nödvändigtvis fullständig) tabell över 23 typer av fel som kan uppstå.
Däribland finns:
- Syntaxfel i SQL-frågan.
- SQL-frågan använder tabeller eller kolumner osm inte finns.
- SQL-frågan innehåller funktioner som ODBC-drivrutinen inte klarar.
- Nätverkskopplingen till databasservern har gått ned.
- Timeout i väntan på svar från databasservern.
SQLExecute
På
http://odbcrouter.com/api/SQLExecute.shtml
finns en (inte nödvändigtvis fullständig) tabell över 24 typer av fel som kan uppstå.
Däribland finns:
- Data trunkerades, dvs någon variabel var inte tillräckligt stor för att innehålla ett visst värde.
- Ett revoke-kommando misslyckades,
eftersom den användaren inte hade den rättighet som skulle tas bort.
- Division med noll.
- Brott mot integritetsvillkor vid uppdatering av databasen.
- Transaktionen avbröts för att förhindra deadlock.
Sensmoral
Som vi ser ovan kan det uppstå många olika fel,
och ett tillämpningsprogram som gör anspråk på att vara bra och användarvänligt
måste innehålla mycket kod för att hantera de fel som kan uppstå.
Av Thomas Padron-McCarthy
(e-post: boken@databasteknik.se)
Senaste ändring:
30 juli 2005