Scripts

Todo lo relacionado con Linux para z/series ya sea bajo z/VM o stand alone
Responder
gaston_gato4

Scripts

Mensaje por gaston_gato4 » 25 Oct 2007, 14:38

Hola amigos, les comento que estoy trabajando en Unix y necesito crear un script que me pertima leer un archivo.txt y grabar en una tabla db2.
Además tengo que poder "enviar un email" que contenga un archivo plano.

No tengo idea de como se realizan estos pasos, ya que lo poco que vi de scripts fueron todas sentencias sql.

Si alguien conoce algo sobre el tema, será bienvenido.

Luis Miguel Martinez Ch.

Re: Scripts

Mensaje por Luis Miguel Martinez Ch. » 25 Oct 2007, 17:03

Además tengo que poder "enviar un email" que contenga un archivo plano.

No tengo idea de como se realizan estos pasos, ya que lo poco que vi de scripts fueron todas sentencias sql.

Si alguien conoce algo sobre el tema, será bienvenido.[/b][/quote]


Dentro del script tienes que poner algo como esto

#!/bin/ksh
db2 "connect to DB1 user luis using passwluis"
db2 "load from arch.txt of del modified by coldel / ...... insert/replace into tabla1 ...... "
db2 "reset connect"
mail .......

1.- Valida la sintaxis del load de DB2 y sus parametros de archivos y performance
2.- Valida si viene delimitado por algun campo para que lo cargues con delimitador p.e. / si es que trae una diagonal
3.- Valida la sintaxis del comando mail de unix
4.- Puedes poner tambien validaciones para que cheque el codigo de retorno $?

gaston_gato4

Mensaje por gaston_gato4 » 30 Oct 2007, 17:57

Muchas Gracias Luis¡¡¡¡

Pero investigando pude lograr insertar en un tabla registros a traves de un archivo.txt. Lo hice de la siguiente manera:


IMPORT FROM "C:\MIPRUEBA.TXT" OF DEL METHOD P
(1, 2, 3, 4, 5, 6, 7, 8 )
INSERT INTO DWPR.KDWA02T (CDBU, CDFILIAC, CDFIELDC, DSOLDPRT, DSNEWPRT, NOPROGRA, CDTABLA, FECARGA);

(1,2,3,4,5,6,7,8 ) : es el orden que se le da a los campos de la tabla, los campos figuran posteriormente. Y la coma se usa ya que el archivo.txt esta delimitado por comas.

DEL : creo que es el delimitador por coma.

METHOD P: no se que es lo que hace.

Muchas Gracias...y espero que a alguno le sirva

Luis Miguel Martinez Ch.

Mensaje por Luis Miguel Martinez Ch. » 30 Oct 2007, 19:07

IMPORT FROM "C:\MIPRUEBA.TXT" OF DEL METHOD P
(1, 2, 3, 4, 5, 6, 7, 8 )
INSERT INTO DWPR.KDWA02T (CDBU, CDFILIAC, CDFIELDC, DSOLDPRT, DSNEWPRT, NOPROGRA, CDTABLA, FECARGA);

(1,2,3,4,5,6,7,8 ) : es el orden que se le da a los campos de la tabla, los campos figuran posteriormente. Y la coma se usa ya que el archivo.txt esta delimitado por comas.

Y te falta conocer aun mas opciones .... formatos, orden de carga, mensajes, excepciones, restart, registros a cargar, utilizacion de recursos, XML, LOBS, NULLS, RESPALDO, Estadisticas, Indexamiento, etc.

ASEGURATE DE CONOCER BIEN LO QUE HACES CON EL LOAD ... de lo contrario sufriras ...

* lentitud del proceso
* Objetos no accesibles
* perdida de datos
* Impacto en el performance de DB2
* y un poco mas

DEL : creo que es el delimitador por coma.

Este es el formato del archivo ... que es ASCII DELIMITADO. El caracter delimitador de campos en Db2 por default ... es la COMA.

Puede tambien tener formato ASCII no delimitado ( ASC) o PC/IXF ( PC Integration Exchange)

METHOD P: no se que es lo que hace.

METHOD P (numeros de columna) se usa para formatos DEL e IXF

METHOD L ( columna inicial, columna final) se usa solo paras formato ASCII.

METHOD N ( nombres y orden de las columnas a cargar). Solo se usa para formatos IXF

gaston_gato4

Mensaje por gaston_gato4 » 01 Nov 2007, 15:50

Necesito hacer un EXPORT desde una tabla DB2 a un archivo "txt". Para esto usé el siguiente comando:

EXPORT TO "archivo.txt" OF DEL SELECT codigo FROM tabla

Esto funciona correctamente, pero necesito que en el archivo destino, el dato (codigo) esté sin comillas. ¿cómo puedo lograr esto?

Muchas gracias !!!

Luis Miguel Martinez Ch.

Mensaje por Luis Miguel Martinez Ch. » 01 Nov 2007, 18:17

EXPORT TO "archivo.txt" OF DEL SELECT codigo FROM tabla

Esto funciona correctamente, pero necesito que en el archivo destino, el dato (codigo) esté sin comillas. ¿cómo puedo lograr esto?

Cual es la razon?

Estas dentro del shell de Unix y quieres que no se interpreten las comillas porque pasan dentro de un string?

Usa la \ (diagonal invertida) para quitarle el significado especial que tienen para el shell.

masterslave

Mensaje por masterslave » 09 Nov 2007, 14:19

Hola Gastón:

para enviar el contenido de un archivo por mail podés incluir en tu script lo siguiente:

cat archivo | mailx -s "asunto " mail @ dominio.com

saludos

Adolfo Rebollar

Re: Scripts

Mensaje por Adolfo Rebollar » 29 Oct 2009, 00:59

Buenas tardes:

Solo para la gente que sabe Unix, trabajo como programador financiero, pero tengo una consulta me acaban de invitar a trabajar en un ambiente Unix y no tengo la menor idea de como entro a los editores del mismo sistema ni como cargar datos alguien me puede orientar para el S.O.

En el banco estoy en Altamira, Mainframe 3290, control m y TSO

Quisiera poder aprender a trabajar en este ambiente

Saludos.

Responder