Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.DUMP_SQL_CURSORS

Lister les curseurs SQL d'un travail

Écrit la liste des curseurs SQL ouverts par un travail, pour comprendre ce qu'une application garde ouvert ou diagnostiquer une fuite de curseurs.

À quoi ça sert

La procédure QSYS2.DUMP_SQL_CURSORS examine les curseurs SQL actifs d'un travail, désigné par son nom qualifié JOB_NAME (numéro/utilisateur/nom, par exemple un travail serveur QZDASOINIT). Les paramètres LIBRARY_NAME, FILE_NAME et OUTPUT_OPTION règlent la destination et le mode de sortie.

Elle sert à diagnostiquer les travaux serveur SQL qui accumulent des curseurs ouverts. Elle ne change rien dans le travail examiné ; elle n'a pas de mode aperçu (PREVIEW).

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

CALL QSYS2.DUMP_SQL_CURSORS('*', 'JOBISQL', 'CURSEURS', 3);
SELECT * FROM JOBISQL.CURSEURS

Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :

SQL_IDENTITY DUMPTIME DUMP_BY_USER CURSOR_NAME PSEUDO_CLOSED STATEMENT_NAME OBJECT_NAME OBJECT_LIBRARY OBJECT_TYPE JOBNAME
1 2026-10-01 09:11:14.840902 UTIL232 CURSR YES QCMDEXC1 QSYS2 PGM *

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

Examiner les curseurs SQL actifs du travail courant.

-- Description: Review the active SQL cursors for the current job 
 CALL QSYS2.DUMP_SQL_CURSORS('972874/QUSER/QZDASOINIT', '', '', 1);

Bon à savoir

L'exemple IBM passe un travail serveur qualifié (972874/QUSER/QZDASOINIT) alors que sa description parle du travail courant : adaptez la valeur de JOB_NAME au travail à analyser.

Paramètres

ParamètreTypePar défautSignification
JOB_NAME VARCHAR(28) obligatoire Nom du travail
LIBRARY_NAME CHAR(10) obligatoire Nom de la bibliothèque
FILE_NAME CHAR(10) obligatoire Nom du fichier
OUTPUT_OPTION INTEGER obligatoire Option de sortie