Usare DBMS_OUTPUT in SQL Navigator

Oracle oscar Commenta l'articolo

Un metodo comunemente usato per il debugging di programmi è quello di includere la dichiarazione di dbms_output.put_line per visualizzare la posizione corrente di esecuzione del programma o dei valori delle variabili del programma.
Quando una funzione o una store procedure viene eseguita in una sessione con l’opzione di uscita ON, Oracle invia l’output di dichiarazione DBMS_OUTPUT in un buffer. SQL Navigator visualizza il contenuto di questo buffer nella finestra di output al termine dell’esecuzione del la funzione o store procedure. Quando si esegue la stessa procedura in una sessione con l’opzione di uscita su OFF, Oracle tratta tutte le chiamate a dbms_output.put_line come NOP (Non funzionante) e non vi è alcun output. Pertanto, la dichiarazione dbms_output.put_line non viene visualizzata nella migrazione nell’ambiente di produzione.

  • premi Ctrl+D. per posizionare  DBMS_OUTPUT.PUT_LINE(‘ ‘); nella corrente posizione
  • Seleziona una variabile e clicca il bottone Debug Variable
    oppure
    seleziona Debug Variable dal menù Edit > Insert
    SQL Navigator posizionerà la stringa DBMS_OUTPUT(‘Value of = ‘||var_name);

Ora vediamo come interpretare l’output display, cioè la finestra di output. La finestra mostra i processi di output con i seguenti colori:

Color Data type
Blue Server output
Red Error Messages
Black Other processing messages

Per abilitare il debug clicca View > Preferences > General > Session > DBMS Output Buffer dopodiché setta ad ON la finestra di output andando sulla toolbar e premendo l’icona

The Output window toggle button (Session toolbar)

  • Setta l’output ad ON sull’icona della connessione al server
  • Chiudere la finestra di output non disabilita la funzione di debug
  • La finestra di output sarà riaperta se viene eseguita una store procedure in cui c’è una stringa di codice DBMS e l’output è settato ad ON
  • L’opzione di output ON deve essere settato per ogni sessione, abilitare l’output per una sessione di un server non la abilita automaticamente in un’altra sessione di un altro server
  • L’output di tutte le sessioni è visualizzato nella stessa finestra di output. Il valore di default del buffer di runtime è 32bytes.

Trucchi per disabilitare la finestra di Output

  • Se il bottone () risulta premuto per una sessione allora l’output è a ON per quella sessione
  • Per determinare se l’output è abilitato o meno per una sessione del DB vai nella lista delle sessioni attive (combo-box) e metti il puntatore sul bottone di Output e vedrai lo stato attuale
  • puoi copiare ed incollare il testo nella finestra di output con i tasti CTRL+C e CTRL+V

L’articolo originale è qui


Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi