Foro de Cobol
Registrate en el Foro de Cobol y Aporta tus experiencias y conocimientos sobre este lenguaje de programacion, con tu ayuda el foro crecera y todos nos podremos beneficiar de los conocimientos de los demas.

Gracias por entrar a COBOLEROS.ES
Síguenos en Twitter

4.2 Preparacion del programa para la ejecucion

Ver el tema anterior Ver el tema siguiente Ir abajo

4.2 Preparacion del programa para la ejecucion

Mensaje por Coboler@ el Miér Ene 11, 2012 8:23 pm

a. Traslacion de las instrucciones EXEC por el CICS/OS/VS.
b. Precompilacion del programa.



El precompilador busca errores de sintaxis, y prepara cada instruccion SQL para compilacion o ensamblaje, dando como resultado un conjunto de instrucciones fuente (modulo fuente).
Ademas, el DB2 crea un DBRM (Data Base Request Module), que sera usado en el paso d, y contiene informacion acerca de cada instruccion SQL precompilada.

c. Compilacion ( o ensamblaje) y link-edicion.


Cada modulo fuente es compilado o ensamblado para dar lugar a un modulo de carga. Al link-editar, los modulos de carga se enlatan en un unico modulo objeto.


d. Relacionar el programa y los datos DB2 (binding).


Se relaciona el programa (el DBRM que representa las peticion SQL hechas por el programa) y las tablas y vistas DB2 que se van a procesar. Esto da lugar a un plan de aplicacion, el cual
sera almacenado por el DB2 y usado cuando se ejecute el programa.


El proceso de binding incluye los siguientes pasos:

. Examinar la validez de los nombres de columnas, tablas vistas utilizados en el programa

. Verificar que la persona esta autorizada a realizar operaciones de acceso especificadas por las instrucciones SQL del programa

. Seleccionar los caminos de acceso a los datos DB2 que el programa quiere procesar

Cuando se va a hacer bind de una aplicacion se puede especificar

- Isolation level:

. RR el lock afecta a todas las filas que toca el programa

. CS el lock afecta a todas las filas a las que el programa esta accediendo actualmente

Se puede hacer lock del espacio de tabla entero que contiene la tabla que se quiere proteger mediante una instruccion lock table

. Para permitir a otras aplicaciones recuperar, pero no actualizar, borrar o insertar filas se usa

EXEC SQL
LOCK TABLE nombre_de_tabla
IN SHARE MODE
END-EXEC

. Para impedir que otras aplicaciones accedan a la tablas cualquier forma se usa

EXEC SQL
LOCK TABLE nombre_de_tabla
IN EXCLUSIVE MODE
END-EXEC

- Resource adquisition time

. USE, por defecto indica que se quieren adquirir los locks cuando los registros de tablas asociados sean accedidos por primera

. ALLOCATE indica que se quieren adquirir los locks cuando se actualiza el plan de aplicacion

- Resource release time

. COMMIT, por defecto indica que se quieren liberar los locks en cada punto del commit

. DEALLOCATE indica que se quieren retener los locks hasta que termine el programa

- Explain pa h selection

. YES se pide al DB2 informacion acerca de las decisiones que se esta tomando en el establecimiento de caminos de acceso a los datos

. NO Si cambian las caracteristicas de la tabla o vista a la que accede el programa, el plan de aplicacion ya no es valido, y el programa no puede ser ejecutado. Cuando se intenta hacerlo, el DB2 automaticamente hace un rebind intentando crear un nuevo plan.
avatar
Coboler@
Admin

Mensajes : 215
Reputación : 19
Fecha de inscripción : 02/02/2011
Edad : 37
Localización : Madrid

Ver perfil de usuario http://www.coboleros.es

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.