- Este tópico contém 9 respostas, 5 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por rodrigobonela.
-
AutorPosts
-
7 de julho de 2008 às 7:09 pm #82177darcioreineParticipante
Ola
Pessoal exite outra função no oracle para exibir mensagens alem do DBMS_OUTPUT.PUT_LINE?
Estou tendo problemas por que o set serveroutput esta ficando desligado. E dentro das procedures nao consigo habilitar ele com o comando DBMS_OUTPUT.SERVEROUTPUT(TRUE); porque o meu oracle é o 8
Desde ja agradeço
Darcio
7 de julho de 2008 às 7:17 pm #82178leo_jfParticipanteCreio que o comando seja: DBMS_OUTPUT.ENABLE(2000000);
Que eu conheça, existe apenas o dbms e o UTL_FILE.PUT_LINE, mas o utl_file seria mais quando vc esta criando um arquivo em um diretorio e deseja gravar dados nesse arquivo.
Tenta no inicio do script habilitar o server. Sempre faço isso.
Exemplo:SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.ENABLE(20000000);
SPOOL ….Espero que ajude a dica.
[]s7 de julho de 2008 às 7:28 pm #82179darcioreineParticipante[quote=”leo_jf”:1r40ikg2]Creio que o comando seja: DBMS_OUTPUT.ENABLE(2000000);
Que eu conheça, existe apenas o dbms e o UTL_FILE.PUT_LINE, mas o utl_file seria mais quando vc esta criando um arquivo em um diretorio e deseja gravar dados nesse arquivo.
Tenta no inicio do script habilitar o server. Sempre faço isso.
Exemplo:SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.ENABLE(20000000);
SPOOL ….Espero que ajude a dica.
[]s[/quote]Ola leo
Se eu setar o SET SERVEROUTPUT ON funciona o problema é que eu quero deixar isso automatico dentro da procedure. So que se eu colacara SET SERVEROUTPUT ON dentro da procedure da erro
.7 de julho de 2008 às 7:52 pm #82180leo_jfParticipanteSaquei.
Se vc tiver como startar a procedure, via unix, já ajuda.
Veja se assim te ajuda:Segue um exemplo que uso aqui, via unix.
SET SERVEROUTPUT ON
EXEC DBMS_OUTPUT.ENABLE(20000000);
SPOOL /exemplo/log.errDECLARE
v_variaveis CHAR(8);BEGIN
procedure criada no banco;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(‘ERROR EXECUCAO DA PROCEDURE XXXX -‘ || SQLERRM);END;
/
exit
/7 de julho de 2008 às 10:46 pm #82181fneukirchenParticipanteDarcioreine,
Se bem entendi, o que você deseja é que se a procedure for executada manualmente o resultado seja mostrado, e, caso contrário, o resultado seja omitido para que não ocorra o erro, é isso?
F. Neukirchen
7 de julho de 2008 às 10:59 pm #82182darcioreineParticipante[quote=”fneukirchen”:2g8arve2]Darcioreine,
Se bem entendi, o que você deseja é que se a procedure for executada manualmente o resultado seja mostrado, e, caso contrário, o resultado seja omitido para que não ocorra o erro, é isso?
F. Neukirchen[/quote]
Nao eu so quero que apareça os meus DBMS_OUTPUT.PUT_LINE que estao dentro da procedure. O problema que essa procedure é executada por usuarios normais que desconhece o parametro set serveroutput on. Eu queria achar uma maneira de habiltar esse parametro dentro da procedure…
8 de julho de 2008 às 3:36 am #82185fneukirchenParticipanteCaro, fiz alguns testes sem muito sucesso.
Que tal habilitar o parâmetro SERVEROUTPUT no arquivo login.sql ou glogin.sql?F. Neukirchen
8 de julho de 2008 às 3:37 am #82186fneukirchenParticipanteCaro, fiz alguns testes sem muito sucesso.
Que tal habilitar o parâmetro SERVEROUTPUT no arquivo login.sql ou glogin.sql?F. Neukirchen
8 de julho de 2008 às 7:30 pm #82195Rodrigo AlmeidaParticipanteExatamente. Habilite o parâmetro no arquivo glogin.sql, assim, toda vez que utilizar o SQL*PLUS, ele estará habilitado.
O arquivo se encontra em ORACLE_HOMEsqlplusadmin, onde ORACLE_HOME é a instalação do seu Oracle (Server ou Client).
Abraços,
25 de julho de 2008 às 12:29 am #82306rodrigobonelaParticipanteCara, pq vc ñ tenta criar uma trigger colocando o SET SERV… sendo disparado de dentro dela sempre antes q a procedure for executada…
Não testei, mas acho q é uma opção neh…
Espero ter ajudado.
Abçs
-
AutorPosts
- Você deve fazer login para responder a este tópico.