Aller au contenu

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

QSYS2.FIND_AND_CANCEL_QSQSRVR_SQL

Annuler le SQL des travaux serveur d'un travail

Retrouve les travaux QSQSRVR (mode serveur SQL) utilisés par un travail applicatif et annule leurs instructions SQL actives.

À quoi ça sert

Cette procédure part d'un travail applicatif (par exemple un travail d'un serveur d'applications ou d'une connexion distante) et recherche tous les travaux du mode serveur SQL, les travaux QSQSRVR, qui travaillent pour lui. Elle annule ensuite les instructions SQL qui sont en cours d'exécution dans ces travaux.

Elle sert en exploitation quand une requête déraille et que l'on veut l'arrêter sans arrêter tout le travail applicatif : l'application garde sa connexion, seule l'instruction en cours est interrompue. Le seul paramètre, JOB_NAME, est le nom qualifié du travail applicatif, au format numéro/utilisateur/nom.

Pour voir d'abord ce qui sera touché, on commence par la procédure sœur QSYS2.FIND_QSQSRVR_JOBS, qui ne fait que lister les travaux serveurs sans rien annuler.

Résultat réel sur un IBM i 7.5

Procédure non exécutée sur notre IBM i de test : elle agit sur la configuration du système ou sur d'autres travaux.

L'exemple d'IBM

Trouver tous les travaux du mode serveur SQL d'un travail applicatif donné et annuler les instructions SQL actives.

-- Description: Find all of the SQL Server Mode jobs for a specific 
-- application job, and cancel any active SQL statements 
 CALL QSYS2.FIND_AND_CANCEL_QSQSRVR_SQL('242362/SCOTTF/QPADEV000F');

Bon à savoir

La procédure annule des requêtes en cours, y compris des mises à jour : l'application peut recevoir une erreur SQL en retour. Lance d'abord FIND_QSQSRVR_JOBS avec le même nom de travail pour vérifier la cible.

Paramètres

ParamètreTypePar défautSignification
JOB_NAME VARCHAR(28) obligatoire Nom du travail