The UNIX and Linux Forums  

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
diferencia en llamar los scripts de shell arpit_narula Sun Solaris 6 09-07-2008 04:46 PM
Cuestión a través de scripts de llamada CRON. vskr72 Programación de scripts de shell y 5 01-07-2008 08:12 PM
Llamadas SQL LDR y más secuencias de comandos SQL en un script de shell rajagavini Programación de scripts de shell y 5 11-05-2007 06:12 PM
Llamando funciones en los scripts directamente LiquidChild Programación de scripts de shell y 12 04-27-2007 07:28 AM
Llamar a través de scripts SQL script de shell madhunk Programación de scripts de shell y 18 06-14-2006 01:35 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 11-21-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuario Registrado
  
 

Fecha: julio 2007
Ubicación: Amsterdam
Puestos: 177
cualquier posible solución a llamar scripts SQL

hola a todos,

Tengo una función que tendrá i / p como ddl sctipt como i / p, y ejecutarlo,
dejar
Código HTML:
function execute_sql
{
db_var="$1"
v_cnt=`sqlplus -s XXXXX/XXXXX@aXXX << ENDSQL | sed -e "s/Connected\.//" -e "/^$/d"
set pagesize 0 feedback off verify off heading off echo off  serveroutput on size 10000
whenever sqlerror exit SQL.SQLCODE;
$db_var
commit;
exit ;
ENDSQL`
db_var=""
}
si estoy equivocado la ejecución de una secuencia de comandos ddl, entonces no soy capaz de coger el retrun como código 1, que no me tira 0 si estoy ejecutando el ddl a través de la función de secuencia de comandos.

dejar que mi ddl que está mal, es decir,
INSERT INTO CBF_CONFIG (CS_ID, CS_NAME, FIELD_SEP, REC_SEP, FIELDS_NUM, FTPS_FILE, DECSN_FMT_TYPE, DECSN_FIELDS, DECSN_SCHDL_TYPE, DECSN_SCHDL, DECSN_TIME, DECSN_UNITWS, UNIQ_FILE_CONVNS, OUTBOX_RETN, UPDATE_TIME) VALUES
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL »,« 15 »,' N ',' Standard ',' NULL ',' Diario ',' NULL ','14: 00', 'N' , 'Y','1 ', SYSDATE);
el o / p de la siguiente manera si soy de ejecución a través de simples sqlplus medio ambiente,
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL »,« 15 »,' N ',' Standard ',' NULL ',' Diario ',' NULL ','14: 00', 'N' , 'Y','1 ', SYSDATE)
*
ERROR en la línea 2:
ORA-12899: valor demasiado grande para la columna "XXXXX". "CBF_CONFIG". "CS_ID"
(actual: 11, máximo: 10)

pero si voy a llamar a través de las funciones de depósito,
Código HTML:
insert_sql="INSERT INTO CBF_CONFIG ( CS_ID, CS_NAME, FIELD_SEP, REC_SEP, FIELDS_NUM, FTPS_FILE, DECSN_FMT_TYPE, DECSN_FIELDS, DECSN_SCHDL_TYPE, DECSN_SCHDL, DECSN_TIME, DECSN_UNITWS, UNIQ_FILE_CONVNS, OUTBOX_RETN, UPDATE_TIME ) VALUES
('MANASMANAS1','SCORENETHERLANDS','|','NULL','15','N','STANDARD','NULL','DAILY','NULL','14:00','N','Y','1',SYSDATE) ; "
echo $insert_sql

execute_sql "$insert_sql"
rc=$?
echo "exit code $rc"
rc entonces es 0, pero es v_cnt "ERROR en la línea 2:
ORA-12899: valor demasiado grande para la columna "CLIFBACONFIG". "CBF_CONFIG". "CS_ID"
(actual: 11, máximo: 10) "

mi pregunta es ¿por qué no soy capaz de atrapar SQL.SQLCODE a pesar de que en la función hay una línea cuando sqlerror salida SQL.SQLCODE...
cualquier sugerencia para mejorar el período de sesiones de captura de error ...........

Última edición por manas_ranjan; al 11-22-2007 05:06 AM.. Motivo: eliminar usuario / pwd @ dbname
  #2 (Enlace permanente)  
Old 11-21-2007
Cameron's Avatar
Cameron Cameron is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: noviembre 2001
Ubicación: Brisbane, Australia
Puestos: 500
Es muy probable que usted no la búsqueda de foros para "sqlplus».

Aunque esto pueda no responder a todas sus preguntas, podría ponerle en el camino correcto.

Cómo comprobar sqlplus comando tiene éxito o no en HP UX?

Tratando de SQL para realizar de la manera que usted ha mostrado es realmente difícil de manejar en el tiempo.

En el futuro, hacer uso de la función de búsqueda en estos foros.
Te preguntas es más que probable que antes se ha pedido en el pasado.

¡Salud!,
Cameron
  #3 (Enlace permanente)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuario Registrado
  
 

Fecha: julio 2007
Ubicación: Amsterdam
Puestos: 177
Wink

thankx Cameron.

He pasado a través de la búsqueda de todos los ... pero no se refiere a nadie ...... como alguno de ellos no cumplen mis necesidades
i puesto que ya con declaraciones confusas ... perdón, lo siento.

realmente debo preguntar, a pesar de cuando sqlerror salida SQL.SQLCODE hay por qué no soy capaz de atrapar SQL.SQLCODE que después de ejecutar la función? rc mostrando por qué es 0 como todos sabemos estoy equivocado ejecución ddl (s), ¿por qué no SQL.SQLCODE como rc ????? i será agradecido si me puede explicar ....

NOTA: i no ha utilizado ninguno spool archivo, o / p tala archivo .. en vez de i comprobado la ERROR / salida mediante la aprobación de la O / P para v_cnt como sigue,

Código HTML:
if [ `echo "$v_cnt" | grep "ORA-" | wc -l` -ne 0 ]
then
echo "`basename $0` wrong execution possible reason is :-`echo "$v_cnt" | grep "ORA-" | awk -F":" '{print $2}'`"
exit 1
fi
de nuevo disculpas por engañosa / confusa ...... declaraciones próxima vez, trataré de cuidar de ello.

Última edición por manas_ranjan; al 11-22-2007 05:08 AM..
  #4 (Enlace permanente)  
Old 11-22-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Ahora jugando con Ubuntu!
  
 

Fecha: octubre 2005
Ubicación: Madrid
Puestos: 365
problema con su sed

El problema es con su sed. Funciona bien y por lo que el código de retorno es cero. Retire la sed y comprobar sus resultados.
  #5 (Enlace permanente)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuario Registrado
  
 

Fecha: julio 2007
Ubicación: Amsterdam
Puestos: 177
Thumbs up

tiene usted toda la razón ...... después de la eliminación sed ... Tengo la respuesta exacta a lo esperado.

muchas gracias .... ranj ......
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 03: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