The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
diferença na convocação shell scripts arpit_narula Sun Solaris 6 09-07-2008 04:46
Emissão chamando scripts através CRON. vskr72 Programação Shell Script e 5 01-07-2008 08:12
Chamando SQL LDR e SQL mais scripts em um shell script rajagavini Programação Shell Script e 5 11-05-2007 06:12
Chamando funções em scripts directamente LiquidChild Programação Shell Script e 12 04-27-2007 07:28
Chamadas através de scripts SQL Shell Script madhunk Programação Shell Script e 18 06-14-2006 01:35

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-21-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuário
  
 

Join Date: Jul 2007
Localização: Amsterdam
Lugares: 177
qualquer solução possível em sql chamando scripts

oi tudo,

Tenho uma função que terá I / P como um ddl sctipt como I / P e executá-lo,
permitir
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=""
}
se estou errado ddl execução um script, então não sou capaz de capturar o código retrun como 1 em vez de 0 se ele joga-me estou a executar o script ddl através da função.

ddl deixar o meu que é errado é,
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 ',' padrão ',' NULL ',' Diariamente ',' NULL ','14: 00', 'N' , 'Y','1 ', SYSDATE);
o O / P, como segue se estou executando-lo através de simples sqlplus ambiente,
( 'MANASMANAS1', 'SCORENETHERLANDS','|',' NULL','15 ',' N ',' padrão ',' NULL ',' Diariamente ',' NULL ','14: 00', 'N' , 'Y','1 ', SYSDATE)
*
ERRO na linha 2:
ORA-12899: valor muito grande para a coluna "XXXXX". "CBF_CONFIG". "CS_ID"
(real: 11, máxima: 10)

Mas se eu vou chamá-la através do reservatório acima funções,
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 então é 0, mas v_cnt é "ERRO na linha 2:
ORA-12899: valor muito grande para a coluna "CLIFBACONFIG". "CBF_CONFIG". "CS_ID"
(real: 11, máxima: 10) "

minha pergunta é porque não sou capaz de capturar SQL.SQLCODE embora na função há uma linha sempre sqlerror saída SQL.SQLCODE...
qualquer sugestão para melhorar a captura de erro sessão ...........

Última edição por manas_ranjan; em 11/22/2007 05:06.. Motivo: remover login / pwd @ dbname
  #2 (permalink)  
Old 11-21-2007
Cameron's Avatar
Cameron Cameron is offline Forum Advisor  
Usuário
  
 

Join Date: Nov 2001
Localização: Brisbane, Austrália
Lugares: 500
É altamente provável que você não busca os fóruns para 'sqlplus».

Embora isto não pode responder a todas suas perguntas, poderia colocá-lo no caminho certo.

Como verificar sqlplus comando for bem sucedida ou não em HP UX?

Tentativa de executar o SQL da forma que você mostrou é realmente difícil de gerir ao longo do tempo.

No futuro, fazer uso de o recurso de pesquisa nestes fóruns.
Você é mais perguntas do que provável que tenha sido solicitado antes no passado.

Felicidades,
Cameron
  #3 (permalink)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuário
  
 

Join Date: Jul 2007
Localização: Amsterdam
Lugares: 177
Wink

thankx Cameron.

Tenho passado por todas as pesquisas ... mas não refere ninguém ...... como qualquer deles não encontrei meu exigências
desde i pós-lo com declarações confusas ... desculpa por isso.

Na verdade, eu deveria pedir, apesar de sempre sqlerror saída SQL.SQLCODE está lá porque eu não sou capaz de capturar SQL.SQLCODE que após executar a função?? por isso é rc 0 mostrando como todos sabem estou errado ddl execução (s), porque não SQL.SQLCODE como rc ????? Eu serei grata se você puder me explicar ....

NOTA: Eu não tenho usado nenhum spool arquivo, o / p log arquivo .. Eu chequei e não o erro / saída por passar o O / P v_cnt para a seguinte,

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
novamente desculpas por enganosa / confusas declarações ...... próxima vez vou tentar cuidar do presente.

Última edição por manas_ranjan; em 11/22/2007 05:08..
  #4 (permalink)  
Old 11-22-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Jogando com o Ubuntu agora!
  
 

Join Date: Oct 2005
Localização: Chennai
Lugares: 365
problema com o sed

O problema é com o seu sed. Ela corre bem e por essa razão o código retorno é zero. Remova a sed e verificar os seus resultados.
  #5 (permalink)  
Old 11-22-2007
manas_ranjan's Avatar
manas_ranjan manas_ranjan is offline
Usuário
  
 

Join Date: Jul 2007
Localização: Amsterdam
Lugares: 177
Thumbs up

Está absolutamente certo ...... após a remoção sed ... Eu tenho a resposta exata como esperado.

thanks alot ranj .... ......
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 04:14.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0