Programación para un entorno Db2
En general, la codificación de un programa COBOL será la misma si desea que el programa acceda a una base de datos Db2®. Sin embargo, para recuperar, actualizar, insertar y eliminar datos de Db2 y utilizar otros servicios de Db2, debe utilizar sentencias SQL.
Para comunicarse con Db2, siga estos pasos:
- Compruebe el archivo cob2.cfg para asegurarse de que las vías de acceso a la versión de Db2 específica se hayan configurado correctamente. Se recomienda utilizar el mandato cob2_db2 y la stanza cob2_db2 correspondiente en el archivo cob2.cfg al programar para un entorno Db2 . Consulte Modificación de la configuración predeterminada del compilador para obtener más información.
- Asegúrese de que el paquete PAM está instalado.
- Codifique las sentencias SQL que necesite, delimitándolas con
EXEC SQLyEND-EXEC. La sentencia EXEC SQL CONNECT se conecta a la base de datos cuando se ejecuta el programa. Para obtener más información sobre las sentencias SQL, consulte Introducción al SQL incrustado en la documentación de Db2. - Inicie Db2 si todavía no se ha iniciado antes de compilar el programa.
- Especifique la base de datos que utiliza el programa. El compilador se conectará a esa base de datos durante la compilación.
- Si se está conectando a una base de datos Db2 remota, debe configurar Db2 para habilitar la autenticación a través del sistema operativo. Para más información, consulte Db2 security model overview.
- Establezca las variables de entorno LD_LIBRARY_PATH, NLSPATH, DB2INSTANCEy SYSLIB antes de compilar. Tenga en cuenta que el directorio LD_LIBRARY_PATH especificado debe contener
libdb2.so, que es el objeto compartido para el coprocesador de Db2 , para que el compilador pueda cargar el coprocesador y utilizarlo durante la compilación.A continuación se muestra un ejemplo:export LD_LIBRARY_PATH=/opt/ibm/db2/<Db2_version>/lib64 export NLSPATH=/opt/ibm/db2/<Db2_version>/msg/%L/%N export DB2INSTANCE=db2in115 export SYSLIB=/opt/ibm/db2/<Db2_version>/include/cobol_aNota: Los archivos de libro de copias bajo el directoriocobol_asolo se incluyen en Db2 11.5.6. Si está utilizando una versión anterior Db2, deberá comunicarse con COBOL.Linux.Trial @ ca.ibm.com para obtener estos archivos. - Compilar con la opción de compilador
SQL. - Compilar con la opción de compilador
NODYNAM.Nota: La opción de compiladorNODYNAMes necesaria para los programas que contienen sentencias EXEC CICS® o EXEC SQL.Si se utilizan sentencias
EXEC SQLen programas COBOL que se cargan mediante una llamada dinámica COBOL, entonces una o más sentenciasEXEC SQLdeben estar en el programa principal. En una aplicación Db2, el programa principal debe realizar la carga inicial de las bibliotecas Db2 antes de que cualquier programa llamado dinámicamente intente utilizar dichas bibliotecas. - Utilice las opciones
-Ly-lal enlazar. A continuación se muestra un ejemplo:-L/opt/ibm/db2/<Db2_version>/lib64 -ldb2Nota: Es posible que experimente una referencia no definida a sqlgstrt, sqlgaloc, sqlgstlv, sqlgcall, sqlgstop y otros símbolos como, por ejemplo,undefined reference to `SQLGSTRT'. Para resolver el problema, especifique las bibliotecas de Db2 utilizando las opciones -L y -l al enlazar el programa. Estas opciones deben aparecer después de los archivos fuente COBOL especificados en la línea de comandos.A continuación se muestra un ejemplo:filea.cbl -L/opt/ibm/db2/<Db2_version>/lib64 -ldb2
Tareas relacionadas
Utilización de los archivos Db2
Codificación de sentencias SQL
Conexión a la base de datos
Compilación con la opción SQL
Pasar opciones al enlazador
Utilización de los archivos Db2
Codificación de sentencias SQL
Conexión a la base de datos
Compilación con la opción SQL
Pasar opciones al enlazador
Referencias relacionadas
Variables de entorno del compilador y de ejecución
DYNAM
Referencia SQL para Db2
Variables de entorno del compilador y de ejecución
DYNAM
Referencia SQL para Db2