B. Zone de communication SQl (SQLCA)
Que faut-il finalement retenir de la zone de communication SQL
(SQLCA), elle est une zone de mémoire qui permet, pour chaque demande
adressée à la base de données, de communiquer des
statistiques et de signaler des erreurs. Il est intéressant, en
consultant la zone SQLCA, vous pouvez tester un code d'erreur
spécifique. Comme un code d'erreur s'affiche dans les champs sqlcode et
sqlstate lorsqu'une requête adressée à la base de
données provoque une erreur.
C'est en nous fondant sur cette observation, qu'une variable
SQLCA globale (sqlca) est définie dans la bibliothèque
d'interface, elle a la structure suivante :
93
Dans la majorité, SQLCA couvre à la fois les
avertissements et les erreurs. Si plusieurs avertissements ou erreurs
surviennent lors de l'exécution d'une instruction, alors sqlca ne
contient que les informations relatives à la dernière. Si aucune
erreur ne survient dans la dernière instruction SQL,
sqlca.sqlcode vaut 0 et sqlca.sqlstate vaut
"00000". Si un avertissement ou une erreur a eu lieu, alors
sqlca.sqlcode sera négatif et sqlca.sqlstate
sera différent de "00000".
Il est aussi possible que les champs sqlca.sqlstate
et sqlca.sqlcode soient deux schémas
différents fournissant des codes d'erreur. Cette différence
stipule que les deux sont spécifiés dans le standard SQL mais
sqlcode est indiqué comme obsolète dans
l'édition de 1992 du standard et a été supprimé
dans celle de 1999. Du coup, les nouvelles applications sont fortement
encouragées à utiliser sqlstate.
|