Pourquoi et quand exécuter cette tâche
Pour vous connecter à une base de données DB2 avec COBOL, procédez comme suit :
Procédure
- Créez un projet COBOL local dans Rational Developer for System z.
- Liez la bibliothèque DB2 à votre projet en ouvrant la page des propriétés Options de liens locaux.
- Saisissez /de db2api.lib dans la zone Options de liens.
- Cliquez sur Options de génération COBOL locale et entrez les informations suivantes :
- SYSLIB
répertoire_installation\INCLUDE\COBOL_A
Remarque : Remplacez répertoire_installation par le répertoire d'installation de DB2.
- Sélectionnez La source contient des instructions SQL imbriquées.
- Cliquez sur Parcourir et sélectionnez votre connexion DB2.
- Facultatif : Dans la zone Autres options SQL, entrez des options supplémentaires à transmettre au préprocesseur SQL. Séparez les différentes options SQL par des virgules.
- Cliquez sur OK.
Remarque : Ne spécifiez pas d'options DB2 dans la zone Options de compilation.
Les options de compilation et les sous-options nécessaires seront générées automatiquement à partir de la connexion DB2 sélectionnée et des options entrées dans la zone Autres options SQL.
- Insérez l'instruction suivante avant l'utilisation des instructions SQL dans les sections WORKING-STORAGE, LOCAL-STORAGE, ou LINKAGE de votre code :
EXEC SQL INCLUDE SQLCA END-EXEC;
- Délimitez les instructions SQL avec des instructions EXEC SQL et END-EXEC.
Voici un exemple d'utilisation de la base de données DB2 exemple :
EXEC SQL UPDATE employee
SET firstnme = 'Myname'
WHERE empno = '000010' END-EXEC.
Exemple
- Exemple de code COBOL pour l'accès à une base de données DB2
* ---------------------------------------------------
* Nom du module : COBOLDB2.cbl
*
* Description : Exemple COBOL avec programme DB2.
*
* Fonction : Exécute une sélection dans la table des employés
* de la base de données d'exemple (Sample) livrée avec DB2.
*
* Options de compilation (modifiez le nom d'utilisateur et le mot de passe (USERNAME et PASSWORD)) :
* DATA,EXIT(ADEXIT(FTTDBKW)),sql ('nom d'utilisateur avec mot de passe')
*
* SYSLIB :
* C:\Program Files\IBM\SQLLIB\INCLUDE\COBOL_A
*
* Options ILINK :
* /de db2api.lib
*
* ---------------------------------------------------
Division d'identification.
ID du programme. COBOLDB2.
Division de données.
*Vous devez inclure SQLCA dans Working-Storage
Section Working-Storage.
EXEC SQL INCLUDE SQLCA END-EXEC.
*Structure des données pour stocker le prénom de l'employé
01 Program-pass-fields.
05 Firstnme Pic x(30).
Division de procédure.
*Vous devez établir une connexion à la base de données !
EXEC SQL CONNECT TO sample END-EXEC.
*Exécutez SQL SELECT pour obtenir le prénom de l'employé.
*avec le numéro d'employé 10.
EXEC SQL SELECT firstnme INTO :Firstnme
FROM employee
WHERE empno = '000010' END-EXEC.
*Affiche le prénom extrait de la base de données exemple.
Display "Firstname"
Display "========="
Display Firstnme
Display " "
*Affiche le statut des instructions SQL.
Display SQLCA
Goback.