Download Acceso a archivos multimiembro en un entorno cliente/servidor o SQL.

Document related concepts

Microsoft SQL Server wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Redo Log File wikipedia , lookup

SQL wikipedia , lookup

Tabla (base de datos) wikipedia , lookup

Transcript
http://www.teknodatips.com.ar
Teknoda - Notas técnicas – Tips de AS400 – iseries
– System i
Tip en breve Nro. 18
(Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado)
"Tips en breve/Tips en detalle" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros
clientes AS/400. Contiene principalmente notas técnicas y no contiene mensajes publicitarios.
Este mensaje se envía en concordancia con la nueva legislación sobre correo electrónico: Por sección 301,párrafo (a) (2)
(c) de S.1618 bajo el decreto s.1618 titulo 3º aprobado por el 105 congreso base de las normativas internacionales sobre
SPAM, este e-mail no podrá ser considerado SPAM mientras incluya una forma de ser removido
Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación. Si desea suscribir otra dirección
de e-mail para que comience a recibir los “Tips”, envíe un mensaje desde esa dirección a [email protected],
aclarando nombre, empresa y cargo del suscriptor.
Acceso a archivos multimiembro en un entorno
cliente/servidor o SQL.
Tema:
Base de datos
Utilidad:
Cómo manipular miembros de un archivo de datos distintos del primero
(default), cuando se trabaja con accesos client/server, tipo SQL, ODBC, JDBC,
NetData, etc..
Nivel:
Intermedio y Avanzado
Versión:
V4.R3 en adelante
Lista de Tips publicados hasta la fecha:
1.
2.
3.
4.
5.
Modificación de los parámetros por default que rigen en los comandos del OS/400
Restricción de comandos pesados a modalidad batch
Cómo generar un entorno de prueba para año 2000
Cómo salvar y restaurar spool
Cómo agregar pantallas de confirmación/validación para comandos delicados
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Defragmentación del espacio en disco no utilizado : STRDSKRGZ, ENDDSKRGZ
Manipulación de bases de datos desde programas CL, a través de Query/400
Generación de spool AS/400 en formato PDF (Adobe Acrobat Reader) para almacenar en CD´s
Cómo proteger columnas de un archivo físico o lógico
Cómo cambiar la pantalla de signon
Cómo automatizar transferencias de archivos con TCP/IP desde AS/400
Control de accesos sobre archivos de spool
Aproveche lo que ya tiene: FILE SERVING con NETSERVER/400
EMULACION 5250 vía Internet con lo que ya tiene instalado
Editor alternativo: Comando EDTF (Edit File)
Auditoría sobre objetos en AS/400
Cómo personalizar los comandos del menú de petición del sistema
Temas de próximos tips:
•
•
Guía básica de PTF´s e iPTF´s
Auditoría de usuarios
Resumen ejecutivo
Los archivos de datos DB2/400 aceptan poseer más de un miembro de datos. Si el acceso a archivos
multimiembro se hace desde herramientas tradicionales (DDS,CL, RPG, etc.) existen formas francas de
direccionar un miembro determinado. En cambio, cuando se utilizan accesos tipo SQL, por ejemplo en un
entorno client/Server, o desde la Web, o desde JAVA, deben implementarse otros recursos para elegir sobre
cuál miembro se desea trabajar.
A partir de OS/400 V4.3, el lenguaje SQL posee una sentencia CREATE ALIAS para crear un nombre
alternativo para un archivo físico de datos asociado a un determinado miembro. El resultado de la ejecución
de esta instrucción SQL es la creación de un objeto de tipo *FILE con atributo DDMF.
El comando CL Override Database File (OVRDBF) también permite al administrador de base de datos
procesar miembros individuales de un archivo de base de datos, desde una línea de comandos, desde un
programa o con una llamada a QCMDEXC. Sin embargo, el método del ALIAS es más adecuado para estos
casos.
Introducción
Los archivos de datos DB2/400 (*FILE PF-DTA) almacenan registros conteniéndolos dentro de un miembro
de datos. DB2/400 soporta los llamados archivos multimiembro, es decir, este tipo de objeto acepta poseer
más de un miembro de datos para contener otro subconjunto de registros del mismo formato (otra sucursal,
otro año fiscal, etc.).
Cuando se manipulan registros de un archivo, por omisión el sistema accede a los registros del primer
miembro (aquél de fecha de creación más temprana). Si el acceso a un archivo multimiembro se hace desde
herramientas tradicionales (mandatos CL, DDS RPG, etc.) existen formas francas de direccionar un miembro
determinado.
En cambio, cuando se utilizan accesos tipo SQL, por ejemplo desde un sistema cliente, o desde la Web, o
desde JAVA, deben implementarse otros recursos para elegir sobre cuál miembro se desea trabajar.
Básicamente esto se logra a través de la creación de ALIAS o el uso del OVRDBF.
SQL y la creación de Alias
A partir de OS/400 V4.3, el lenguaje SQL posee una sentencia CREATE ALIAS para crear un nombre
alternativo para un archivo físico de datos y un determinado miembro. El resultado de la ejecución de esta
instrucción SQL es la creación de un objeto de tipo *FILE con atributo DDMF. Es importante observar
que el efecto de la ejecución de este comando no es temporario, sino que genera un objeto en una
determinada biblioteca al que podrá referirse como un archivo físico de datos independiente en
cualquier momento desde un cliente utilizando ODBC, por ejemplo desde MS-Access o desde Excel.
Las siguientes sentencias son ejemplos de creación de Alias:
1) CREATE ALIAS tekdb2.pruebas FOR tekdb2.movim
Dónde tekdb2.pruebas es el nombre del alias (*FILE DDMF que se genera), y tekdb2.movim es el archivo
*FILE PF-DTA en el cual se basa. Como no se especifican datos del miembro, apunta al de fecha de creación
más antigua.
2) CREATE ALIAS tekdb2.vent_enero FOR tekdb2.ventas(enero)
Dónde tekdb2. vent_enero es el nombre del alias (*FILE DDMF que se genera), y tekdb2. ventas(enero) es
el archivo *FILE PF-DTA en el cual se basa, y enero el nombre del miembro del archivo.
Para crear un alias, pueden utilizarse diferentes entornos:
a)
Desde pantalla verde, invocando al comando STRSQL.
b)
Desde Operations Navigator, a través del item Base de datos.
Independientemente de la interfaz usada para la creación de alias, el objeto generado es siempre un *FILE
DDMF en la biblioteca indicada.
Creación de un alias usando STRSQL
Para crear un alias desde “pantalla verde” realizar los siguientes pasos:
1) Iniciar una sesión interactiva, e ingresar el comando STRSQL.
2) Presionar F4 para obtener la lista de comandos SQL permitidos.
3) Seleccionar la opción 6, CREATE ALIAS, y presionar Intro.
4) Indicar el nombre del alias y la biblioteca donde se lo almacenará. También especificar el nombre
calificado del archivo, y sobre cual miembro operará. Luego presionar Intro.
Cuando se crea un alias de la manera detallada anteriormente, la autorización *PUBLIC para el objeto *FILE
DDMF surge del parámetro CRTAUT de la biblioteca que lo contendrá.
Creación de un alias usando Operations Navigator
Para crear un alias desde Operations Navigator realizar los siguientes pasos:
1) Iniciar una sesión con Operations Navigator .
2) Sobre el item Base de datos, presionar botón derecho.
3) Elegir Ejecutar scripts SQL.
4) Ingresar la sentencia SQL que permite crear un alias. Como ayuda se puede utilizar el combo box “Ejemplo
sentencias SQL”, seleccionar la sentencia e insertar. La siguiente ventana muestra la sentencia CREATE
ALIAS y un posterior uso con la sentencia SELECT.
Cuando se crea un alias de la manera detallada anteriormente, la autorización *PUBLIC para el objeto *FILE
DDMF es *EXCLUDE.
Luego de la creación, se puede hacer referencia al alias como al nombre de cualquier archivo físico.
Seleccionando el miembro a utilizar con OVRDBF
El comando CL Override Database File (OVRDBF) también permite al administrador de base de datos
procesar miembros individuales de un archivo de base de datos. Sin embargo, crear un alias sobre un miembro
de un archivo físico es más fácil y trabaja mejor al eliminar la necesidad de realizar un override. Además, las
alteraciones temporales deben invocarse cada vez que se las desee utilizar.
La manera de acceder a un miembro determinado de un archivo físico usando la alternativa OVRDBF puede
ser desde una línea de comandos, desde un programa o con una llamada a QCMDEXC como la siguiente, (ya
sea desde la línea de comandos SQL, o como sentencia dentro de un script SQL con la interfaz Operations
Navigator), para ser invocada desde un cliente:
CALL QSYS/QCMDEXC(‘OVRDBF FILE(MOVIM) MBR(MOVIM1) OVRSCOPE(*JOB)’,
0000000045,00000) , donde el segundo parámetro (el número) es la longitud del primer parámetro en
formato 15,5 (todos los 0’s tienen que estar).
Para tener en cuenta...
•
A un archivo físico de datos multimiembro no se le pueden definir restricciones referenciales.
•
Si un archivo físico tiene definidas restricciones referenciales, no va a poder tener más de un
miembro de datos.
•
Los archivos físicos aceptan por default, como máximo, un solo miembro de datos. Para agregar un
nuevo miembro, debe modificarse con el comando CHGPF el atributo Máximo de miembros de “1”
a un valor determinado o “*NOMAX” y luego crear el miembro con ADDPFM.
•
En la pantalla “Trabajar con miembros utilizando PDM”, cuando se visualizan los miembros de un
archivo físico de datos, la fecha que acompaña al nombre del miembro representa la correspondiente
al último cambio. Para ver la fecha de creación, utilizar la opción 8 (Visualizar descripción).
•
El usuario que emite la sentencia CREATE ALIAS debe tener autorización *USE para el comando
CRTDDMF (que se ejecuta indirectamente al crear un alias) aunque el usuario no tenga que ejecutar
directamente este comando.
•
Si bien al crear el alias se genera un objeto *FILE DDMF, si se expande la biblioteca que lo
contiene desde el Operations Navigator, en el item Base de Datos, se lo distinguirá como tipo Alias.
http://www.teknodatips.com.ar Copyright 2001 Teknoda S.A. - AS/400 y OS/400 son marcas registradas de
IBM.
Dudas o consultas a [email protected]