Archives de catégorie : DB2 cours

Interaction avec DB2

Un environnement est connecté à un sous-système DB2 par une fonction de connexion. Chaque fois qu’il y a un besoin d’interaction avec DB2, un fil (lien) sera établi.

Un fil (lien) est une structure de contrôle utilisée pour :

  1. Envoyer des requêtes à DB2
  2. Envoyer des données de DB2 au demandeur
  3. Communiquer l’état de chaque instruction SQL après son exécution

Ce fil va assurer les connections pour permettre les échanges entre les blocs :

Accès à DB2 depuis TSO :

Vous utilisez l’environnement TSO (Time-Sharing Option) comme une porte qui donne accès aux données DB2.

La fonction TSO Attachment Facility permet d’accéder aux ressources DB2 de deux manières :

  1. Mode en ligne, au premier plan du TSO, à l’aide des panneaux ISPF (Interactive System Productivity Facility).
  2. Mode batch à l’aide du programme TSO Terminal Monitor – IKJEFT01 (ou IKJEFT1B)
DB2I – DB2 Interactive

DB2I (DB2 Interactive) est une application DB2 basée sur TSO. Il se compose d’une série de panneaux ISPF, de programmes et de CLIST permettant un accès rapide aux services et aux données DB2. DB2I augmente la productivité du développeur TSO DB2.

Comment accéder à DB2I :

  1. Connectez-vous à TSO comme vous le feriez normalement. Le menu principal ISPF apparaît.
  2. En fonction des TSO, Choisissez l’option : DB2 – Perform DATABASE 2 Interactive Functions
  3. Le menu principal de DB2I s’affiche généralement comme illustré ci-dessous :

Les options suivantes sont disponibles avec DB2I :

  1. SPUFI : Processeur SQL utilisant l’entrée de fichier.
  2. DCLGEN : Générateur de déclaration.
  3. PROGRAM PREPARATION : Prépare un programme contenant Embedded SQL pour l’exécution.
  4. PRECOMPILE : Le programme contenant Embedded SQL est analysé pour récupérer tout le SQL et le remplacer par des appels à une interface d’exécution vers DB2.
  5. BIND/REBIND/FREE : offre la possibilité de lier un plan et un package DB2, de redéfinir un plan et un package, de supprimer un plan et un package du système.
  6. RUN : permet d’exécuter un programme d’application DB2.
  7. DB2 COMMANDS : permet de soumettre des commandes DB2 à l’aide de TSO.
  8. UTILITIES : Fournit des panneaux qui allègent les charges administratives du traitement des utilitaires DB2.
  9. DB2I DEFAULTS : vous permet de modifier les paramètres qui contrôlent le fonctionnement de DB2I. Assurez-vous que le sous-système DB2 approprié est spécifié dans le paramètre “Nom DB2”. Assurez-vous que la langue appropriée doit être utilisée pour préparer les programmes DB2 dans le paramètre “Application Language”. Une carte de travail valide doit être fournie dans le paramètre “DB2I Job Statement”.
  10. EXIT : Quitte DB2I

L’Option SPUFI

La première option du menu principal de DB2I est SPUFI (SQL Processor Using File Input).

SPUFI est principalement destiné aux programmeurs d’applications qui souhaitent tester les parties SQL de leurs programmes ou aux administrateurs qui souhaitent effectuer des opérations SQL.

SPUFI lit les instructions SQL contenues sous forme de texte dans un fichier séquentiel ou dans un membre d’un PDS, traite ces instructions et place les résultats dans une session de navigation ISPF. En spécifiant les ensembles de données d’entrée et de sortie et en sélectionnant les options appropriées, nous pouvons exécuter des instructions SQL en mode en ligne.

Voici un exemple d’écran SPUFI :

Vous devez entrer le nom de l’ensemble de données d’entrée et le nom de l’ensemble de données de sortie.

Ensemble de données d’entrée :

L’ensemble de données d’entrée doit être alloué avant d’appeler SPUFI. Il peut s’agir d’un membre d’un ensemble de données partitionné ou d’un ensemble de données séquentiel. Cela peut être vide et peut être modifié dans le cadre de la session SPUFI.

Il est recommandé de conserver un ensemble de données partitionné pour garder une trace des instructions SQL utilisées. Le jeu de données d’entrée peut être défini comme un jeu de données fixe et bloqué avec un LRECL de 80.

Les instructions SQL peuvent être écrites dans tous les octets sauf les 8 derniers de chaque enregistrement d’entrée ; cette zone est réservée aux numéros de séquence. Celui-ci peut contenir plusieurs instructions SQL, à condition qu’elles soient séparées par des points-virgules. Les commentaires sont précédés de deux traits d’union. Si le fichier d’entrée contient plusieurs instructions SQL, SPUFI arrête l’exécution de ces instructions dès qu’il rencontre une erreur dans l’une d’entre elles.

Exemples d’instructions SQL dans l’ensemble de données d’entrée comme suit :

-- Afficher la liste des produits avec la catégorie 'SPORT'​

SELECT NOM_PRODUIT, CATEGORIE ​ ​
  FROM PRODUIT​
 WHERE CATEGORIE = 'SPORT';​
Ensemble de données de sortie :

L’ensemble de données de sortie n’a pas besoin d’être alloué avant d’utiliser SPUFI. Si l’ensemble de données de sortie n’existe pas, SPUFI crée un ensemble de données séquentielles bloquées virtuelles avec un LRECL de 4092.

Le fichier de sortie contiendra une séquence de résultats, un pour chaque instruction (y compris le SQLCODE pertinent), suivi d’un résumé de l’exécution globale (y compris, en particulier, une indication quant à laquelle de Commit et Roll Back s’est produite). Certaines valeurs par défaut spécifiques doivent être définies pour l’ensemble de données de sortie.

Lorsque le SQL est exécuté et parcouru, un ensemble de données de sortie comme celui-ci apparaît :

Résultat d’une requête via SPUFI
Autres options:

Après avoir entré le nom de l’ensemble de données d’entrée et le nom de l’ensemble de données de sortie, nous devons spécifier les options suivantes.

CHANGE DEFAULTS : lorsque Y (YES) est spécifié, le panneau des valeurs par défaut SPUFI apparaît comme suit :

Contenu d’un écran TSO du SPUFI DEFAULTS

Options de « CURRENT SPUFI DEFAULTS » :

  1. En règle générale, les valeurs par défaut ne sont modifiées qu’une seule fois, la première fois que quelqu’un utilise SPUFI. ISPF enregistre les valeurs par défaut saisies d’une session à l’autre.
  2. Assurez-vous de spécifier les valeurs par défaut suivantes :
    Isolation Level : réglez toujours cette option sur CS (stabilité du curseur).(Remarque : vous étudierez en détail le niveau d’isolement dans vos prochaines sessions.)
    Max Select Lines : défini sur un nombre approprié. Si nous allons sélectionner parmi de grandes tables qui renvoient plus de 250 lignes, la valeur par défaut d’installation de 250 est insuffisante. SPUFI arrête de renvoyer des lignes après avoir atteint la limite spécifiée et émet un message l’indiquant.
  3. Toutes les autres valeurs par défaut de l’installation sont appropriées. Alors gardez-les tels quels.
  4. EXECUTE : lorsque Y est spécifié, le SQL du fichier d’entrée est lu et exécuté.
  5. AUTOCOMMIT : Lorsque Y est spécifié, un COMMIT est émis automatiquement après l’exécution réussie du SQL dans le fichier d’entrée. Lorsque vous spécifiez N, SPUFI vous demande si un COMMIT doit être émis. Si le COMMIT n’est pas émis, toutes les modifications sont annulées.
  6. BROWSE OUTPUT : Lorsque Y est spécifié, SPUFI vous place dans une session de navigation ISPF pour l’ensemble de données de sortie. Vous pouvez afficher les résultats du SQL qui a été exécuté.

Remarque : Spécifier Y pour toutes ces options (de 6 à 9) à l’exception de Modifier les valeurs par défaut (5) est courant.