Pular para o conteúdo
  • Este tópico contém 9 respostas, 5 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por Avatar de rodrigobonelarodrigobonela.
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #82177
    Avatar de darcioreinedarcioreine
    Participante

      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

      #82178
      Avatar de leo_jfleo_jf
      Participante

        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

        #82179
        Avatar de darcioreinedarcioreine
        Participante

          [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
          .

          #82180
          Avatar de leo_jfleo_jf
          Participante

            Saquei.
            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.err

            DECLARE
            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
            /

            #82181
            Avatar de fneukirchenfneukirchen
            Participante

              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

              #82182
              Avatar de darcioreinedarcioreine
              Participante

                [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…

                #82185
                Avatar de fneukirchenfneukirchen
                Participante

                  Caro, fiz alguns testes sem muito sucesso.
                  Que tal habilitar o parâmetro SERVEROUTPUT no arquivo login.sql ou glogin.sql?

                  F. Neukirchen

                  #82186
                  Avatar de fneukirchenfneukirchen
                  Participante

                    Caro, fiz alguns testes sem muito sucesso.
                    Que tal habilitar o parâmetro SERVEROUTPUT no arquivo login.sql ou glogin.sql?

                    F. Neukirchen

                    #82195
                    Avatar de Rodrigo AlmeidaRodrigo Almeida
                    Participante

                      Exatamente. 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,

                      #82306
                      Avatar de rodrigobonelarodrigobonela
                      Participante

                        Cara, 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

                      Visualizando 10 posts - 1 até 10 (de 10 do total)
                      • Você deve fazer login para responder a este tópico.
                      plugins premium WordPress