The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
(sed) analizar el estado insertar la columna que cruza varias líneas jjordan Programación de scripts de shell y 3 10-09-2007 01:23 AM
Necesidad de ejecutar la misma declaración Legend986 Programación de scripts de shell y 8 10-01-2007 05:59 PM
¿Qué debo hacer para ejecutar en SI else laknar Programación de scripts de shell y 1 06-08-2007 03:54 AM
Insertar en TAB eco declaración sunils27 Programación de scripts de shell y 5 08-26-2005 04:36 AM
comando awk para INSERT nattynatty Programación de scripts de shell y 4 05-10-2002 03:11 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Usuario Registrado
  
 

Fecha: agosto 2006
Puestos: 54
Script no ejecuta INSERT

Hola

Tengo un archivo de texto, los contenidos son
Línea1: campo1, campo2, Campo3, field4, field5, field6 ....... field20
Línea 2: campo1, campo2, Campo3, field4, field5, field6 ....... field20
Línea3: campo1, campo2, Campo3, field4, field5, field6 ....... field20
.... y así sucesivamente ...

Quiero leer este archivo e insertar los datos en el cuadro.

¿Cómo puedo hacer que nadie puede ayudar ...?
He intentado leer el archivo de texto, cada línea, cortar los campos, hacer la conexión a la base de datos y, a continuación, ejecutar el comando INSERT ....
Pero cuando hago el comando INSERT no ejecuta.
Alguien me puede orientar cómo puedo conseguirlo?

Código:
#####Connecting sqlplus to check the connectivity
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}

cat /$FILEPATH/$FILENAME | while read LINE
do
    echo ${LINE}
    acctno=`echo $LINE | cut -f1 -d','`
    echo $acctno
    salutation=`echo $LINE | cut -f2 -d','`
    name=`echo $LINE | cut -f3 -d','`
    billdate=`echo $LINE | cut -f4 -d','`
    totaldue=`echo $LINE | cut -f5 -d','`
    billdeductiondate=`echo $LINE | cut -f6 -d','`
    billduedate=`echo $LINE | cut -f7 -d','`
    templatecode=`echo $LINE | cut -f8 -d','`
    billid=`echo $LINE | cut -f9 -d','`
    emailid=`echo $LINE | cut -f10 -d','`
    brnno=`echo $LINE | cut -f11 -d','`
    billsummaryid=`echo $LINE | cut -f12 -d','`
    batchno=`echo $LINE | cut -f13 -d','`
    emailfile=`echo $LINE | cut -f16 -d','`
    echo "Insert into table"

    spool ${SYS_TEMP_DIR}/${JOB_ID}_db_sql.log
    INSERT INTO SendMailDetails (acctno) values ('${acctno}');
    echo "Table Appended"
    commit;
    spool off;
    exit;
    EOF
done
También intenté:

Código:
MYCOMMAND=`awk '$1' ${FILEPATH}${FILENAME}`
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}

spool my.log
Insert into SendMailDetails(acctno) values($MYCOMMAND);
spool off
commit;
exit
EOF;
Pero estoy pierda, por favor ayuda .....
  #2 (Enlace permanente)  
Old 08-24-2006
mukundranjan mukundranjan is offline
Usuario Registrado
  
 

Fecha: julio 2006
Puestos: 20
Creo que su muy fácil de usar sql cargador para su propósito.
  #3 (Enlace permanente)  
Old 08-24-2006
Amruta Pitkar Amruta Pitkar is offline
Usuario Registrado
  
 

Fecha: agosto 2006
Puestos: 54
Gracias Mukund

Al menos tengo una dirección ...

Gracias
Amruta
  #4 (Enlace permanente)  
Old 08-24-2006
blowtorch's Avatar
soplete blowtorch is offline Forum Advisor  
Defensor
  
 

Fecha: diciembre 2004
Ubicación: Singapur
Puestos: 2.350
Amruta, se puede usar el depósito para hacer esto con bastante facilidad:
Código:
#####Connecting sqlplus to check the connectivity
sqlplus -s /nolog <<EOF>/dev/null
connect ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME}
oldIFS=$IFS
IFS=,
while read acctno salutation name billdate totaldue billdeductiondate billduedate templatecode billid emailid brnno billsummaryid batchno field14 field15 emailfile rest_of_the_fields; do
    echo "Insert into table"
# insert into whatever table, whichever values that you want
# after you are done, go ahead
    echo "Table Appended"
    commit;
    spool off;
    exit;
    EOF
done
field14, field15: celebrar los días 14 y 15 campos, rest_of_the_fields: contiene los campos del 17 al final de la línea. Todo lo demás va en el apropiado nombre de las variables.
  #5 (Enlace permanente)  
Old 08-25-2006
Amruta Pitkar Amruta Pitkar is offline
Usuario Registrado
  
 

Fecha: agosto 2006
Puestos: 54
Thumbs up SQL cargador para Anexar datos

Hola
Trabajé en Mukund la sugerencia de utilizar sqlloader ... funcionó con éxito.
este es el principal shellscript
LoadMain.sh

Código:
#!/usr/bin/ksh

DB_LOGIN=SOMESYSTEM
DB_PASSWORD=SOMEPASSWD
DB_NAME=SOMENAME
FILENAME="$1"

sqlldr ${DB_LOGIN}/${DB_PASSWORD}@${DB_NAME} control=tryloader log=mlist2.log data=mlist2.txt

echo "I am done"
-------------
\u003d mlist.txt datos de entrada es el archivo de texto que contiene datos con delimitadores.
\u003d tryloader.ctl de control es el control de archivo que contiene información sobre cómo los datos se añadirán a la tabla ...
Mi tryloader.ctl contiene:
Código:
LOAD DATA
APPEND INTO TABLE SendMailDetails
(
  AcctNo CHAR TERMINATED BY ",",
  Salutation CHAR TERMINATED BY ",",
  Name CHAR TERMINATED BY ",",
  BillDate CHAR TERMINATED BY ",",
  TotalDue DECIMAL EXTERNAL TERMINATED BY ",",

 ...and other fields
)
Y de nuevo gracias .. Chicos ....

Amruta Pitkar
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 12:21 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0