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 de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Une nouvelle ère de la modernisation du mainframe
- Akamai Technologies déploie sa stratégie de protection en ligne
- Baromètre channel IT : fin du cuivre, essor de UCaaS et premiers pas vers l’IA
- Fraude par identité synthétique : comment l’IA peut redonner confiance aux entreprises et à leurs clients
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
