Avec SQL imbriqué, il faut respecter deux règles fondamentales pour réussir les diagnostics :
Ne jamais, jamais, utiliser la directive WHENEVER SQL.
Toujours vérifier la variable SqlState après chaque instruction SQL exécutable.
Aux yeux des nouveaux programmeurs SQL, la directive
SQL imbriqué
WHENEVER peut paraître comme une fonction SQL commode, mais c’est une source potentielle d’ennuis. L’effet de WHENEVER peut être modifié par le simple déplacement du texte de sous-routine autour de votre code source, même si vous ne changez pas le flux d’exécution du programme.
Pour être sûrs que votre programme traite les erreurs runtime SQL, le moyen le plus simple et le plus fiable est d’adopter une approche standard pour tester la variable SqlState (le nom est raccourci en SqlStt dans RPG/400 et en V5R2 et versions antérieures de ILE RPG). Le SQL runtime définit cette variable de cinq caractères après chaque instruction SQL (figure 5). Le SQL runtime définit aussi la variable SqlCode (ou SqlCod), mais SqlCode est une variable de réaction plus ancienne, non standard – et vous devriez plutôt utiliser SqlState.
Un état SQL de 00000 signifie que l’instruction a été exécutée correctement. Les deux premiers caractères indiquent l’état d’accomplissement général, de la façon suivante :
00 – réussite
01 – avertissement
02 – pas de données
03 à ZZ – erreur
Vous pouvez créer de diverses manières votre traitement d’erreurs SQL standard.
Outre SqlState, le SQL runtime définit d’autres variables dans la SQLCA (SQL Communication Area), qui est décrite dans l’annexe C du V5R3 DB2 Universal Database for iSeries SQL Reference (publib.boulder.icm.com/infocenter/iseries/v5r3/topic/db2/rbafzmst.pdf). Par exemple, SqlErrD(1) contient les quatre derniers caractères du message d’échappement CPF associé si une exception se produit. Vous pouvez utiliser l’un des débogueurs interactifs pour afficher et définir les points de contrôle sur le SqlCode et d’autres variables de feedback.
On le voit, SQL fournit des informations de diagnostic de plusieurs manières. Il n’est pas plus difficile de travailler avec cette information que d’utiliser les diagnostics émanant des interfaces base de données traditionnelles. Une bonne connaissance des principes de base des diagnostics SQL vous permet d’aborder l’utilisation de SQL en sachant que vous pourrez détecter et corriger les problèmes rapidement.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre nouveau dossier thématique sur l’éco-conception et les bonnes pratiques à adopter pour réduire votre impact environnemental.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Révolutionner la gestion du stockage à l’ère de l’IA et de la transformation numérique : vers une infrastructure agile et automatisée
- Multicloud Computing : Êtes-vous prêt pour la prochaine nouvelle vague informatique ?
- IA : les PME devraient adopter des outils NoCode appropriés
- Guide des certifications Microsoft
- Transition vers le Cloud : l’approche stratégique pour répondre aux exigences de cybersécurité NIS 2