Service SQL IBM i (AS/400) · Vue
QSYS2.SQL_ERROR_LOG
Journal des erreurs SQL
Vue qui expose les erreurs SQL enregistrées par le système : code SQL, SQLSTATE, texte de l'instruction, programme, travail et utilisateur concernés.
À quoi ça sert
SQL_ERROR_LOG restitue les erreurs SQL conservées par le système. Chaque ligne donne le code (LOGGED_SQLCODE) et le LOGGED_SQLSTATE, le nombre d'occurrences, le texte de l'instruction en cause, le programme, le module, le travail, l'unité d'exécution, le profil utilisateur (et le profil adopté) et l'horodatage.
On l'emploie pour comprendre pourquoi une application échoue en production : retrouver les erreurs d'un programme précis, voir lesquelles reviennent le plus souvent, ou identifier l'instruction fautive et la pile d'appels initiale (INITIAL_STACK). Les colonnes CLIENT_* identifient l'application ou le poste cliente pour les accès distants.
Comme c'est une vue, on la filtre et on la trie avec du SQL ordinaire, ce qu'un joblog ne permet pas.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT * FROM QSYS2.SQL_ERROR_LOG
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| LOGGED_SQLCODE Code SQL enregistré | LOGGED_SQLSTATE SQLSTATE enregistré | NUMBER_OCCURRENCES Nombre d'occurrences | STATEMENT_TEXT Texte de l'instruction | STATEMENT_OPERATION Opération de l'instruction | STATEMENT_OPERATION_DETAIL Détail de l'opération de l'instruction | REASON_CODE Code motif | PROGRAM_LIBRARY Bibliothèque du programme | PROGRAM_NAME Nom du programme | PROGRAM_TYPE Type de programme | MODULE_NAME Nom du module | LOGGED_TIME Horodatage de l'enregistrement | JOB_NAME Nom du travail | THREAD_ID Identifiant de l'unité d'exécution | ADOPTED_USER_NAME Nom du profil utilisateur adopté | USER_NAME Nom du profil utilisateur | SYSTEM_USER_NAME Nom de l'utilisateur système | CLIENT_ACCTNG Information de comptabilisation du client | CLIENT_APPLNAME Nom de l'application cliente | CLIENT_PROGRAMID Identifiant du programme client | CLIENT_USERID Identifiant utilisateur du client | CLIENT_WRKSTNNAME Nom du poste de travail client | RDB_NAME Nom de la base de données relationnelle | INITIAL_LOGGED_TIME Horodatage de la première journalisation | INITIAL_JOB_NAME Nom du travail initial | INITIAL_THREAD_ID Identifiant de l'unité d'exécution (thread) initiale | INITIAL_ADOPTED_USER_NAME Nom de l'utilisateur adopté initial | INITIAL_STACK Pile d'appels initiale |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 12 | 01545 | 28 | Description de l'objet | PR | PREPARE | NULL | QSYS | QZDASRV | *SRVPGM | QZDASQL | 2025-12-12 09:09:06.062000 | 116608/QUSER/QZDASOINIT | 17555 | UTIL186 | UTIL186 | UTIL186 | POSTE06 | POSTE07 | POSTE08 | UTIL186 | POSTE09 | MONIBMI | 2025-11-05 14:35:17.399000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | {"initial_stack":[{"ORD":11,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"NORMEXIT","STMT":"0000019610","ACTGRP":"*DFTACTGRP"},{"ORD":10,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"XTPROCES","STMT":"0000026295","ACTGRP":"*DFTACTGRP"},{"ORD":9,"TYPE… |
| 7905 | 01567 | 1 | CREATE OR REPLACE TABLE ETUDIANT ( ID_ETU INT NOT NULL, NOM VARCHAR(50) CCSID 1147 NOT NULL DEFAULT '', PRENOM VARCHAR(50) CCSID 1147 NOT NULL DEFAULT '', DATENAISS DATE NOT NULL, SEXE VARCHAR(1) CCSID 1147 NOT NULL DEFAULT '', CONSTRAINT PK_ETU PRIMARY KEY (ID_ETU) ) RCDFMT … | CT | CREATE TABLE | NULL | QSYS | QZDASRV | *SRVPGM | QZDASQL | 2025-11-05 14:35:23.551000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | UTIL186 | UTIL186 | POSTE06 | POSTE07 | POSTE08 | UTIL186 | POSTE10 | MONIBMI | 2025-11-05 14:35:23.551000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | {"initial_stack":[{"ORD":10,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"NORMEXIT","STMT":"0000019610","ACTGRP":"*DFTACTGRP"},{"ORD":9,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"QSQROUTX","STMT":"0000014731","ACTGRP":"*DFTACTGRP"},{"ORD":8,"TYPE"… |
| 7905 | 01567 | 1 | CREATE OR REPLACE TABLE NOTE ( ID_ETU INT NOT NULL, MATIERE VARCHAR(30) CCSID 1147 NOT NULL DEFAULT '', NOTE DECIMAL(4,2) NOT NULL DEFAULT 0.00, CONSTRAINT FK_ETU FOREIGN KEY (ID_ETU) REFERENCES ETUDIANT (ID_ETU) ON DELETE CASCADE ) RCDFMT FNOTE | CT | CREATE TABLE | NULL | QSYS | QZDASRV | *SRVPGM | QZDASQL | 2025-11-05 14:35:26.307000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | UTIL186 | UTIL186 | POSTE06 | POSTE07 | POSTE08 | UTIL186 | POSTE10 | MONIBMI | 2025-11-05 14:35:26.307000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | {"initial_stack":[{"ORD":10,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"NORMEXIT","STMT":"0000019610","ACTGRP":"*DFTACTGRP"},{"ORD":9,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"QSQROUTX","STMT":"0000014731","ACTGRP":"*DFTACTGRP"},{"ORD":8,"TYPE"… |
| -205 | 42703 | 1 | INSERT INTO ETUDIANT (ID_ETUDIANT, NOM, PRENOM, DATE_NAISSANCE, SEXE) VALUES (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?), (?, ?, ?, ?, ?) | PR | PREPARE | NULL | QSYS | QZDASRV | *SRVPGM | QZDASQL | 2025-11-05 14:35:28.082000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | UTIL186 | UTIL186 | POSTE06 | POSTE07 | POSTE08 | UTIL186 | POSTE10 | MONIBMI | 2025-11-05 14:35:28.082000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | {"initial_stack":[{"ORD":11,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"NORMEXIT","STMT":"0000019610","ACTGRP":"*DFTACTGRP"},{"ORD":10,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"XTPROCES","STMT":"0000026295","ACTGRP":"*DFTACTGRP"},{"ORD":9,"TYPE… |
| -205 | 42703 | 1 | INSERT INTO NOTE (ID_ETUDIANT, MATIERE, VALEUR_NOTE) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?) | PR | PREPARE | NULL | QSYS | QZDASRV | *SRVPGM | QZDASQL | 2025-11-05 14:35:51.426000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | UTIL186 | UTIL186 | POSTE06 | POSTE07 | POSTE08 | UTIL186 | POSTE10 | MONIBMI | 2025-11-05 14:35:51.426000 | 988621/QUSER/QZDASOINIT | 4750 | UTIL186 | {"initial_stack":[{"ORD":11,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"NORMEXIT","STMT":"0000019610","ACTGRP":"*DFTACTGRP"},{"ORD":10,"TYPE":"ILE","LIB":"QSYS","PGM":"QSQROUTX","MODULE":"QSQROUTX","PROC":"XTPROCES","STMT":"0000026295","ACTGRP":"*DFTACTGRP"},{"ORD":9,"TYPE… |
Données anonymisées : les noms de système, de profils, de
bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma
JOBISQL sont des objets de démonstration créés pour ce site.
L'exemple d'IBM
Retrouver toutes les entrées enregistrées pour un programme d'application donné.
-- Description: Find all entries recorded for a specific application program.
SELECT * FROM QSYS2.SQL_ERROR_LOG
WHERE PROGRAM_LIBRARY = 'PGMLIB' AND PROGRAM_NAME = 'PGM1'
ORDER BY LOGGED_TIME DESC;
Bon à savoir
Pensez à filtrer sur PROGRAM_LIBRARY et PROGRAM_NAME puis à trier sur LOGGED_TIME décroissant pour voir d'abord les erreurs récentes. NUMBER_OCCURRENCES montre vite les erreurs répétitives.
Colonnes renvoyées (28)
Afficher les 28 colonnes
| Colonne | Type | Signification |
|---|---|---|
LOGGED_SQLCODE |
INTEGER | Code SQL enregistré |
LOGGED_SQLSTATE |
CHAR(5) | SQLSTATE enregistré |
NUMBER_OCCURRENCES |
BIGINT | Nombre d'occurrences |
STATEMENT_TEXT |
DBCLOB | Texte de l'instruction |
STATEMENT_OPERATION |
CHAR(2) | Opération de l'instruction |
STATEMENT_OPERATION_DETAIL |
VARCHAR(50) | Détail de l'opération de l'instruction |
REASON_CODE |
INTEGER | Code motif |
PROGRAM_LIBRARY |
VARCHAR(10) | Bibliothèque du programme |
PROGRAM_NAME |
VARCHAR(10) | Nom du programme |
PROGRAM_TYPE |
VARCHAR(7) | Type de programme |
MODULE_NAME |
VARCHAR(10) | Nom du module |
LOGGED_TIME |
TIMESTAMP | Horodatage de l'enregistrement |
JOB_NAME |
VARCHAR(28) | Nom du travail |
THREAD_ID |
BIGINT | Identifiant de l'unité d'exécution |
ADOPTED_USER_NAME |
VARCHAR(10) | Nom du profil utilisateur adopté |
USER_NAME |
VARCHAR(10) | Nom du profil utilisateur |
SYSTEM_USER_NAME |
VARCHAR(10) | Nom de l'utilisateur système |
CLIENT_ACCTNG |
VARCHAR(255) | Information de comptabilisation du client |
CLIENT_APPLNAME |
VARCHAR(255) | Nom de l'application cliente |
CLIENT_PROGRAMID |
VARCHAR(255) | Identifiant du programme client |
CLIENT_USERID |
VARCHAR(255) | Identifiant utilisateur du client |
CLIENT_WRKSTNNAME |
VARCHAR(255) | Nom du poste de travail client |
RDB_NAME |
VARCHAR(18) | Nom de la base de données relationnelle |
INITIAL_LOGGED_TIME |
TIMESTAMP | Horodatage de la première journalisation |
INITIAL_JOB_NAME |
VARCHAR(28) | Nom du travail initial |
INITIAL_THREAD_ID |
BIGINT | Identifiant de l'unité d'exécution (thread) initiale |
INITIAL_ADOPTED_USER_NAME |
VARCHAR(10) | Nom de l'utilisateur adopté initial |
INITIAL_STACK |
CLOB | Pile d'appels initiale |