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

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

RES: [shell-script] Script usando truncate


From: Rodolfo Villanova
Subject: RES: [shell-script] Script usando truncate
Date: Tue, 29 Jun 2004 15:34:39 -0300

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:address@hidden]
> 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









reply via email to

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