Recupera msg de erro em tempo de execução

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
scardofax
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qua, 28 Jan 2009 8:50 am
Localização: Americana - SP
Juliano
Analista

Informações do Ambiente:
* Versão do Oracle: 10g
* Sistema Operacional: win2000

Sou iniciante em oracle, estou com um problema em recuperar a mensagem de erro.

procurei mais não achei nada para me ajudar.

É o seguinte tenho uma trigger que dispara a cada criação e alteração do objeto, com a tabela user_erros eu consigo pegar o erro do codigo, mas como estou fazendo um log de erros eu não pego em tempo de execução..pois eu compilo e o objeto tem um erro, eu arrumo o objeto e recompilo mas o erro só é retirado da tabela user_erros no fim da execução, ou seja na minha tabela de log o objeto só fica valido se complilar ele duas vezes depois de consertar o erro.

Para pegar o codigo em tempo de execução eu uso o ora_sql_txt , o que eu preciso é de uma função parecida só que eu preciso pegar a mensagem de erro..se puiderem me ajudar agradeço

obrigado
jp_lopes
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 02 Fev 2009 12:08 pm
Localização: Rio de janeiro - RJ
João Paulo Lopes - DBA

Não sei se entendi bem, mas acho que você está falando do sqlerrm.

Dá uma pesquisada que na internet tem bastante coisa sobre isso.

Ele retorna o código do erro e a mensagem.

Selecionar tudo

  EXCEPTION
          WHEN OTHERS
          THEN
             DBMS_OUTPUT.put_line (SQLERRM);
        END;
        /
Você também pode usar ele em um insert na sua tabela de log.

Espero ter ajudado.
scardofax
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qua, 28 Jan 2009 8:50 am
Localização: Americana - SP
Juliano
Analista

eu já vi esse sqlerm, mais não é isso que eu quero, preciso de uma função parecida com o ora_sql_text...só que para o erro....mais em todo caso, valeu
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Eu não entendi direito o que você quer.
Mas existe uma tabela no dicionário de dados que mostra os erros dos objetos:

Selecionar tudo

select * from dba_errors
where owner='APPS'
scardofax
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Qua, 28 Jan 2009 8:50 am
Localização: Americana - SP
Juliano
Analista

é quase isso...eu quero o erro, só que em tempo de execução, ou seja, quando eu compilo o objeto eu vou buscar o erro na tabela, ele não está lá, porque o erro do objeto é adicionado depois, precisava de alguma coisa para pegar esse erro em tempo de execução.

mais valeu
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 18 visitantes