Publications par Pierre-Louis BERTHOIN

Envoyer un message avec réponse

Il peut être intéressant d’envoyer un message avec une réponse, pour des traitements occasionnels par exemple . Voici 2 exemples de code qui font la même chose exemple en RPG **free// Message simple avec réponse// texte 55 maxdcl-s w_reponse char(1) ;dsply ‘Voulez-vous continuer ?’ ‘QSYSOPR’ w_reponse;// traitement de la réponseif w_reponse = ‘O’;dsply ‘Oui avec […]

, , Droits Navigator for i

il faudra désormais une autorisation explicite pour utiliser Navigator for i Jusqu’à présent les fonctions usage, QIBM_NAV_SERVICEABILITY et QIBM_NAV_ALL_FUNCTION étaient autorisées par défaut à partir de mai 2022, elles seront interdites par défaut seules les profils ayant les autorisations spéciales *secofr *allobj pourront accéder les autres devront être autorisées nommément. Plus d’informations ici https://www.ibm.com/support/pages/node/6485853 https://www.ibm.com/support/pages/node/6486565 […]

, , Query Governor

C’est une possibilité de contrôler les requêtes SQL sur le temps d’exécution estimée ou sur la mémoire temporaire , se base sur le plan d’accès créé par l’optimiseur pour votre requête. C’est la commande CHGQRYA qui permet cette opérationparamètres QRYTIMLMT( ) et QRYSTGLMT( ) pour le temps et la mémoireExempleCHGQRYA JOB(123456/PLB/QPADEV0001) QRYTIMLMT(45) Vous exécutez votre […]

, , Transformation LF en index

Pourquoi transformer des DDS en SQL? Une des raisons est que les index peuvent être beaucoup plus performants que les LF quand le moteur SQL les utilise. RappelPour transformer un PF en table Vous devez extraire le source en utilisant l’API QSQGNDDLLe plus simple est de passer par ACSEn faisant génération instruction SQL Vous obtenez […]

, Les jobs database QDBSVR*

Sur votre machine il y a un certain nombre de jobs systèmes qui tournent pour gérer votre base de données, voici les principaux et ce à quoi ils servent : QDBSRVXR Gère les références du catalogue principalement QADBXREF sauf des zones qui sont dans QADBIFLD QDBSRVXR2 C’est lui qui gère les références de zones dans […]

, , Suggestion d’Index agrégés

Vous connaissez index advisor, c’est une table que le système met à jour à chaque suggestion d’index, elle se nomme SYSIXADV et elle est dans QSYS2. Vous pouvez l’interroger par SQL en faisant un simple select et en appliquant un filtre par rapport à une date de dernière utilisation et soit un nombre de fois […]

, Réorganiser un très gros fichier

Voici la problématique qui nous est arrivée : Suite à un gros coup de ménage sur une petite machine saturée avec un énorme fichier de 12 millions d’enregistrement plus 30 millions d’enregistrements supprimés et 4 index dessus Le réflexe naturel, a été le bon vieux RGZPFM qui devait nous réorganiser tout ça … eh bien […]

, Utilisation QAQQINI

Le fichier QAQQINI sert à paramétrer les exécutions SQL pour un travail , et donc à donner des directives spécifiques sur les exécutions de requêtes, pour un travail donné. On ne verra pas ici toutes les options disponibles à ce jour, mais on présentera le principe. Celui qui est utilisé par défaut, c’est celui que […]

, Utilisez une table MQT

Une table de requête matérialisée (MQT Materialized Query Table) est une table dont la définition est basée sur le résultat d’une requête. Les données contenues dans un MQT sont dérivées d’une ou plusieurs tables sur lesquelles la définition de la table de requête matérialisée est basée. Cette solution est assez peu utilisée sur l’IBMi mais […]

, Génération CSV à partir de SQL

Il existe plusieurs méthodes pour faire du CSV, la solution la plus connue est la commande CPYTOIMPF. Les procédures SQL peuvent offrir une alternative intéressante dans certains cas, voici un exemple. Cette exemple utilise « Dynamic Compound Statement » avec la procédure QSYS2.IFS_WRITE_UTF8 quauoopt est le fichier des options PDM BEGIN— Génération fichier + entêteCALL QSYS2.IFS_WRITE_UTF8(PATH_NAME =>’/tmp/qauoopt.csv’,LINE […]