[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