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
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Veeam passe à la vitesse supérieure avec iResOps pour Microsoft 365
- Visibilité, réputation, clients : ce que les petites entreprises ne pourront plus déléguer en 2027
- IA souveraine : l’Europe avance, mais son interconnexion prend du retard
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
