Procesamiento de instrucciones SQL para la preparación de programas

El primer paso en la preparación de una aplicación de SQL para su ejecución es procesar las sentencias SQL en el programa. Para procesar las declaraciones, utilice el Db2 coprocessor o el Db2 precompiler. Durante este paso, las sentencias SQL se sustituyen por llamadas a módulos de interfaz de lenguaje de Db2 y se crea un DBRM.

Antes de empezar

Asegúrese de que los lenguajes de programación de desarrollo de aplicaciones cumplen los requisitos mínimos enumerados en «Lenguajes de programación» en el Directorio de programas de Db2 12 . Consulte los directorios del programa para obtener más información ( Db2 ) 12.

Acerca de esta tarea

Dado que la mayoría de los compiladores no reconocen las sentencias SQL, puede evitar errores de compilación utilizando el comando Db2 coprocessor o el comando Db2 precompiler.

Puede utilizar el Db2 coprocessor para el idioma de destino. Cuando utiliza el Db2 coprocessor, el compilador (en lugar del Db2 precompiler) analiza el programa y devuelve el código fuente modificado. El Registro de Datos de la Empresa ( Db2 coprocessor ) también produce un DBRM.

Consejo: Inicio del cambioDb2 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 ).fin del cambio

Db2 precompiler , escanea el programa y devuelve el código fuente modificado, que luego puede compilar y editar el enlace. El precompilador también produce un DBRM (módulo de solicitud de base de datos). Puede vincular este DBRM a un paquete utilizando el subcomando BIND. Cuando complete estos pasos, podrá ejecutar su aplicación Db2 .

Db2 versión en el módulo DSNHDECP
Cuando procesa sentencias SQL en su programa, si la versión de DSNHDECP ( Db2 ) es la versión predeterminada proporcionada por el sistema, Db2 emite una advertencia y el procesamiento continúa. En este caso, asegúrese de que la información en DSNHDECP que utiliza Db2 refleje con precisión su entorno.

Procedimiento

Para procesar instrucciones SQL en programas de aplicación, utilice uno de los siguientes métodos:

  • Invoque el " Db2 coprocessor " para el idioma de destino que está utilizando al compilar su programa. Puede utilizar Db2 coprocessor con compiladores host C, C++, COBOL y PL/I.
    Para invocar el Db2 coprocessor, especifique la opción del compilador SQL seguida de sus subopciones, que son aquellas opciones que están definidas para el Db2 precompiler. Algunas opciones de Db2 precompiler o se ignoran. Inicio del cambioTambién puede invocar Db2 coprocessor desde UNIX System Services en z/OS® para generar un DBRM en un conjunto de datos particionado o en un archivo HFS. fin del cambio

    Para obtener más información, consulte Procesamiento de instrucciones SQL mediante el coprocesador de optimización de consultas ( Db2 ).

  • Utilice el Db2 precompiler antes de compilar su programa. Para obtener más información, consulte Procesamiento de instrucciones SQL mediante el precompilador de SQL ( Db2 ).
    Para aplicaciones ensambladoras o de " Fortran ", utilice el " Db2 precompiler " para preparar las sentencias SQL.

Resultados

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). Sin embargo, el Db2 coprocessor o Db2 precompiler también produce declaraciones de origen modificadas, una lista de declaraciones de origen, una lista de declaraciones que hacen referencia a nombres de host y columnas, y diagnósticos. Para obtener más información, consulte el resultado del precompilador Db2.

Qué hacer a continuación

Si la aplicación contiene comandos de tipo " CICS® ", debe traducir el programa antes de compilarlo. Para obtener más información, consulte Traducción de instrucciones a nivel de comando en un programa de CICS.