Aller au contenu

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
ColonneTypeSignification
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