shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RES: [shell-script] Script usando truncate


From: Leogildo da Silva
Subject: Re: RES: [shell-script] Script usando truncate
Date: Wed, 30 Jun 2004 03:01:40 -0000
User-agent: eGroups-EW/0.82

Oi,

Existe um comando que entrega o "Return Code" do "SQLplus" para o "Shell".

O comando eh o "exit sql.sqlcode" (utilizamos na execucao de packages,
e creio que possa ser aplicado tambem para comandos SQL - consulte o
seu DBA).

Isto facilitou o nosso trabalho, atribuindo maior confiabilidade e
seguranca no controle do Shell_script.


Bye,

Leogildo da Silva
Analista de Producao
Grupo CSU

--- Em address@hidden, "Rodolfo Villanova"
<rodolfo.villanova@t...> escreveu
> Desculpem-me uma falha.
> 
> Corrigindo uma linha que estava assim:
> 
> ERRO=`echo $RET | cut -f2- -d":"`
> 
> mas que deveria, na verdade, ficar assim:
> 
> ERRO=`echo $RET | cut -f1 -d":"`
> 
> Att.,
> --------------------------
> Rodolfo D. Gross Villanova
> 
> 
> > -----Mensagem original-----
> > De: Rodolfo Villanova
> > [mailto:rodolfo.villanova@t...]
> > Enviada em: terça-feira, 29 de junho de 2004 15:35
> > Para: address@hidden
> > Assunto: RES: [shell-script] Script usando truncate
> >
> >
> > Fala, Carlos.
> >
> > Existem diversas formas de resolver essa "parada".
> >
> > Eu passei por essa experiência e arranjei um jeito que trata de
todos os
> > tipos de erros retornados pelo BD.
> > Basta saber o tipo de código de erro e tratá-lo.
> >
> > Eu bolei algo +ou- da seguinte forma:
> >
> > Criei a query como uma função no script:
> >
> > consultaSQL () {
> >  sqlplus -s conta/senha@banco << EOSQL
> >  set echo off
> >  set feed off
> >  set pages 0
> >  set space 0
> >  select tabela.atributo from tabela where tabela.atributo_chave =
'$1';
> > EOSQL
> > }
> >
> > A função é chamada da seguinte forma:
> >
> > RET=`consultaSQL $chave_da_pesquisa`
> > if [ -n "$RET" ]; then
> >    if [ `echo $RET | grep "ORA-" > /dev/null` ]; then
> >       # esse "echo $RET | grep ..." é assim mesmo,
> >       # pois a variável $RET recebeu um string,
> >       # e não um arquivo.
> >       ERRO=`echo $RET | cut -f2- -d":"`
> >       case "$ERRO" in
> >           "ORA-00001") MESSAGE="ERRO de Oracle ...bla bla bla...
***" ;;
> >           "ORA-00002") MESSAGE="ERRO de Oracle ...bla bla bla...
***" ;;
> >           etc...etc...etc
> >           *) echo "...bla bla bla ..." ;;
> >       esac
> >       echo "*** <$ERRO>: $MESSAGE ***"
> >    fi
> > else
> >     ...trata o string de retorno da consulta...
> > fi
> >
> > ...bla bla bla...
> >
> >
> > Se o banco que precisas fazer a consulta se localiza em outro
servidor,
> > verifique com o DBA a configuração de listner pra fazer conexão
> > com banco do
> > outro ambiente.
> >
> > Espero que essa sugestão te sirva de inspiração pra criares uma
solução
> > (pôxa, rimou !) que melhor se adapte à tua necessidade.
> >
> >
> > Abraço,
> > --------------------------
> > Rodolfo D. Gross Villanova
> >
> > > -----Mensagem original-----
> > > De: carlosfredericorj [mailto:carlosfredericorj@y...]
> > > Enviada em: terça-feira, 29 de junho de 2004 14:36
> > > Para: address@hidden
> > > Assunto: [shell-script] Script usando truncate
> > >
> > >
> > > OI,
> > > To usando um script que realiza um truncate em uma tabela oracle, so
> > > que o truncate pode naum ser realizado, pois a senha do usuário muda
> > > de tres em tres meses.
> > > Concluindo...Gostaria que em caso do truncate naum ser realizado por
> > > qq motivo, esse erro fosse passado para o unix...para fazer um
> > > tratamento...
> > > Abraços,
> > > Carlos
> > >
> > >
> > >
> > >
---------------------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de
> > > programação, como perl, C etc. Quem insistir em não seguir esta
> > > regra será moderado sem prévio aviso.
> > >
---------------------------------------------------------------------
> > > Sair da lista: address@hidden
> > >
---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
> > programação, como perl, C etc. Quem insistir em não seguir esta
> > regra será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> 
> Links do Yahoo! Grupos


reply via email to

[Prev in Thread] Current Thread [Next in Thread]