Proceso de preparación para un programa de aplicación

El modo en que se prepara la ejecución de un programa de aplicación depende del tipo de aplicación. Los pasos de la preparación de un programa para aplicaciones varían según el tipo de lenguaje de programación que se utiliza.

Las aplicaciones Db2 requieren diferentes métodos de preparación de programas, en función del tipo de aplicación.

Aplicaciones que contienen sentencias de SQL estático o dinámico incorporadas
Las aplicaciones Db2 incluyen sentencias de SQL en programas en lenguajes tradicionales. Para utilizar estos programas, debe seguir los pasos de preparación típicos (compilar, editar vínculos y ejecutar), además del procesamiento de sentencias SQL y los pasos de enlace.
Aplicaciones en lenguajes interpretados, como REXX y APL2®
Los procedimientos REXX utilizan SQL dinámico. Realiza cualquier preparación del programa para los procedimientos REXX de Db2 , antes de ejecutarlos.
Aplicaciones que contienen llamadas ODBC
Estas aplicaciones pasan sentencias de SQL dinámico como argumentos. No procesa ni vincula solicitudes de ODBC. Las aplicaciones ODBC utilizan un conjunto de funciones estándar para ejecutar sentencias de SQL y servicios relacionados durante el tiempo de ejecución.
Aplicaciones Java™, que pueden contener llamadas a funciones de programación ( JDBC ) o instrucciones SQL incrustadas
La preparación de un programa de Java que contiene únicamente métodos JDBC es igual que la preparación de cualquier otro programa de Java. Para preparar el programa se utiliza el mandato javac. JDBC las aplicaciones no requieren el procesamiento SQL ni los pasos de enlace.
Puede utilizar IBM® pureQuery® puede crear y preparar aplicaciones Java. IBM pureQuery permite el acceso SQL a bases de datos u objetos Java que están en memoria y facilita las mejores prácticas de SQL.
La preparación de un programa SQLJ requiere un paso de precompilación y un paso de vinculación.

Los siguientes pasos de preparación de programa son necesarios para los lenguajes de programación de host:

  1. Procesar instrucciones SQL en el programa. Este paso es necesario para evitar errores de compilación, ya que la mayoría de los compiladores no reconocen las sentencias SQL. Puede utilizar el lenguaje anfitrión Db2 coprocessor para C, C++, COBOL, y PL/I para procesar sentencias SQL a medida que compila su programa. Db2 coprocessor , escanea el programa y devuelve el código fuente modificado en tiempo de compilación. Para obtener más información, consulte Procesamiento de sentencias SQL mediante el coprocesador Db2.

    Otra opción es utilizar Db2 precompiler antes de compilar o ensamblar programas en lenguaje C, COBOL, Fortran, PL/I y Assembler. Db2 precompiler , escanea el programa y devuelve el código fuente modificado, que luego puede compilar y editar el enlace. Para más información, consulte Procesamiento de sentencias SQL mediante el precompilador Db2.

    Consejo: Db2 coprocessor » es el método recomendado para procesar instrucciones SQL en programas de aplicación. En comparación con el Db2 precompiler, el Db2 coprocessor tiene menos restricciones en los programas SQL y es más compatible con las últimas mejoras de SQL y de los lenguajes de programación. Ver Procesamiento de sentencias SQL mediante el coprocesador de la biblioteca de optimización de sentencias SQL ( Db2 ).

    El resultado principal del sistema de gestión de pedidos ( Db2 coprocessor , o Db2 precompiler ) es un módulo de solicitud de base de datos (DBRM ). Un DBRM es un conjunto de datos que contiene sentencias de SQL e información de variables de lenguaje principal que se obtiene del programa fuente durante la preparación del programa. El propósito de un DBRM es comunicar sus solicitudes SQL a Db2 durante el proceso de enlace. Para obtener más información, consulte Salida del coprocesador de la memoria virtual ( Db2 ).

  2. Enlace el programa de aplicación. Antes de que su aplicación de Db2 pueda ejecutarse, debe vincular el DBRM a un paquete. Puede decidir poner determinadas sentencias SQL juntas en el mismo programa para precompilarlas en el mismo DBRM y, a continuación, enlazarlas en un único paquete. Cuando se ejecuta el programa, Db2 utiliza una marca de tiempo para verificar que el programa coincide con el plan o paquete correcto.

    Una colección es un grupo de paquetes asociados. Al enlazar paquetes en colecciones de paquetes, puede añadir paquetes a un plan de aplicación existente sin necesidad de volver a enlazar todo el plan. Si incluye un nombre de colección en la lista de paquetes al vincular un plan, cualquier paquete que esté en la colección estará disponible para el plan. Incluso es posible que la colección esté vacía la primera vez que vincula el plan. Más adelante, puede añadir paquetes a la colección y descartar o sustituir paquetes existentes sin volver a vincular el plan.

    El registro especial CURRENT PACKAGE PATH especifica un valor que identifica una lista de colecciones que Db2 utiliza al resolver referencias a paquetes que se utilizan para ejecutar sentencias de SQL.

    Para obtener más información sobre el proceso de encuadernación, consulte Paquetes y planes de solicitud de encuadernación.

  3. Compilación y edición con enlace del programa. Para que su aplicación pueda interactuar con el subsistema de control de procesos ( Db2 ), debe utilizar un procedimiento de edición de enlaces para crear un módulo de carga ejecutable que cumpla los requisitos de su entorno (como CICS®, IMS, TSO o batch). El módulo de carga es una unidad de programa que se carga en el almacenamiento principal para la ejecución.
  4. Ejecutar el programa: Después de completar los pasos anteriores, puede ejecutar la aplicación Db2. Puede utilizar los siguientes métodos para preparar una aplicación para ejecutar:
    • Utilice los paneles de Db2 Interactive (DB2I), que le llevan paso a paso desde la preparación del programa hasta la ejecución del programa.
    • Someter una aplicación en primer plano de TSO o por lotes en segundo plano de TSO.
    • Iniciar la lista de mandatos de preparación de programas (CLIST) en primer plano de TSO o por lotes.
    • Utilizar el procesador de mandatos de DSN.
    • Utilice los procedimientos JCL que incluya en los conjuntos de datos (por ejemplo, SYS1.PROCLIB) en el momento de la instalación de Db2.

También puede precompilar y preparar un programa de aplicación mediante un procedimiento proporcionado por el sistema de gestión de la configuración ( Db2). Db2 tiene un procedimiento único para cada idioma admitido.

Figura 1. Visión general del proceso de preparación de un programa para aplicaciones que contienen SQL incorporado. El coprocesador de Db2 puede combinar los pasos de precompilación y compilación para determinados lenguajes.
Comenzar descripción de figura. Esta figura muestra que el usuario
precompila las sentencias de SQL y, a continuación, vincula el
DBRM con un plan o paquete antes de ejecutar la aplicación de DB2. Alternativamente, el coprocesador de DB2 combina los pasos de precompilación y compilación y no crea fuente modificada para el programa de aplicación. Finalizar descripción de figura.

Herramienta Db2 Bind Manager

La herramienta Db2 Bind Manager ayuda a los programadores de aplicaciones:

  • Prever si un vínculo de un DBRM dará como resultado una vía de acceso modificada
  • Ejecutar selecciones de vía de acceso en un proceso por lotes de DBRM
  • Eliminar los pasos de vinculación innecesarios entre los programas de aplicaciones y la base de datos
  • Comparar los DBRM con subsistemas y módulos de carga

Herramienta Db2 Path Checker

Db2 Path Checker le ayuda a aumentar la estabilidad de los entornos de Db2 y a evitar interrupciones costosas. Db2 Path Checker puede ayudarle a descubrir y corregir los cambios de vía de acceso no deseados e inesperados antes de que se le notifique sobre ellos.