Acerca de esta tarea
Para conectar con una base de datos
DB2
utilizando COBOL, haga lo siguiente:
Procedimiento
- Cree un proyecto COBOL local en
Rational
Developer for System
z.
- Enlace la biblioteca DB2 al proyecto
abriendo la página de propiedades Opciones de enlace
local.
- Escriba /de db2api.lib en el campo
Opciones de enlace.
- Pulse Opciones de construcción COBOL
local y proporcione la información siguiente:
- SYSLIB
directorio_instalación\INCLUDE\COBOL_A
Nota: Sustituya
directorio_instalación por el directorio de instalación
de DB2.
- Seleccione El fuente contiene SQL intercalado.
- Pulse Examinar y seleccione la conexión de
DB2.
- Opcional: En el campo Otras opciones SQL, entre
opciones adicionales para pasarlas al preprocesador SQL. Las distintas opciones SQL se separan con comas.
- Pulse Aceptar.
Nota: No especifique opciones relacionadas con DB2 en el campo
Opciones de compilador.
Las opciones y
subopciones de compilador necesarias se crearán automáticamente a
partir de la conexión DB2 seleccionada y las opciones que
indique en el campo Otras opciones SQL.
- Inserte la siguiente sentencia antes de usar sentencias SQL en
las secciones WORKING-STORAGE, LOCAL-STORAGE o
LINKAGE del código:
EXEC SQL INCLUDE SQLCA END-EXEC;
- Delimite las sentencias SQL con sentencias EXEC
SQL y END-EXEC.
El siguiente es un ejemplo de utilización de la base de datos de ejemplo DB2:
EXEC SQL UPDATE employee
SET firstnme = 'Myname'
WHERE empno = '000010' END-EXEC.
Ejemplo
- Código COBOL de ejemplo para acceder a una base de datos
DB2
* ---------------------------------------------------
* Nombre de módulo: COBOLDB2.cbl
*
* Descripción: COBOL de ejemplo con programa DB2.
*
* Objetivo: realizar una selección (Select) en la tabla de empleados
* de la base de datos de ejemplo (sample en el código) que viene con DB2.
*
* COMPLILER OPTIONS (hay que cambiar USERNAME y PASSWORD):
* DATA,EXIT(ADEXIT(FTTDBKW)),sql('database sample user USERNAME using PASSWORD')
*
* SYSLIB:
* C:\Archivos de programa\IBM\SQLLIB\INCLUDE\COBOL_A
*
* ILINK OPTIONS:
* /de db2api.lib
*
* ---------------------------------------------------
Identification Division.
Program-ID. COBOLDB2.
Data Division.
*Asegurarse de que SQLCA está incluido en Working-Storage
Working-Storage Section.
EXEC SQL INCLUDE SQLCA END-EXEC.
*Estructura de datos para almacenar el nombre del empleado
01 Program-pass-fields.
05 Firstnme Pic x(30).
Procedure Division.
*Hay que establecer una conexión con la base de datos
EXEC SQL CONNECT TO sample END-EXEC.
*Realizar una selección SQL SELECT para obtener el nombre del empleado
*cuyo número de empleado es 10.
EXEC SQL SELECT firstnme INTO :Firstnme
FROM employee
WHERE empno = '000010' END-EXEC.
*Visualiza el nombre obtenido de la base de datos de ejemplo (su nombre es sample).
Display "Firstname"
Display "========="
Display Firstnme
Display " "
*Visualiza el estado de las sentencias SQL
Display SQLCA
Goback.