Como receber dados de um DBMS_OUTPUT

Amigos, estou com um problema agora com recebimento de um DBMS_OUTPUT… Gostaria de algum exemplo para meu auxilio (já procurei aqui no GUJ e no Google e não encontrei para me auxiliar) :frowning:

Eu criei (por dedução e por ver no Googl) este código:

private CallableStatement habilita_stmt;
	private CallableStatement fecha_stmt;
	private CallableStatement mostra_stmt;
	
	public void executarQuery(String servico) throws Exception {
		try {	       
			conn  = DBUtil.getConnectionLogApache();
		    habilita_stmt = conn.prepareCall("begin dbms_output.enable(:1); end;");
		    mostra_stmt = conn.prepareCall(Queries.obterDBMSCapacity("10","2011","WLI Relacionar", 1, 31, servico));
		    fecha_stmt = conn.prepareCall("begin dbms_output.disable; end;");
		     
			iniciarDBMS(2000);			
			mostra_stmt.execute();
			rset = show_stmt.getResultSet();
			while (rset.next()) {         
			         
				System.out.println(rset.getString(1)+ " " + rset.getInt(2) + " ");

			}
			
			fecharDBMS();

		}

private void fecharDBMS() throws SQLException {
		fecha_stmt.executeUpdate();
		
	}

	private void iniciarDBMS(int size) throws SQLException {
		 habilita_stmt.setInt(1, size);
	     habilita_stmt.executeUpdate();		
	}

A Query que eu recebi é esta (só adaptei em um método):



	public static String obterDBMSCapacity(String mes, String ano,
			String amb, int Dso, int Lim, String servico) {
		String dbmsCapacity =		
			("DECLARE " +
			  "Mes VARCHAR2(02) := "+mes+"; "+              //-- Mês com dois dígitos
			  "Ano VARCHAR2(04) := "+ano+"; "+              //-- Ano com 4 dígitos.
			  "Amb VARCHAR2(50) := "+amb+"; "+              //-- ESB, DSP, WLI URA, WLI Ativar, WLI Relacionar, WLI Infra.
			  "Dso NUMBER       := "+Dso+"; "+                //-- dia inicial que se deseja
			  "Lim NUMBER       := "+Lim+"; "+                //-- dia final do período
			  //-- Variáveis usadas pelo Script NÃO MEXER
			  "DTE DATE          := To_Date(Lpad(Dso,2,'0') || '/' || Mes || '/' || Ano || '00','DD/MM/YYYY HH24'); "+
			  "Tte DATE          := TRUNC(Dte); "+
			  "Datx VARCHAR2(20) := ''; "+
			  "Hitx NUMBER       := 0; "+
			"BEGIN "+
			  "DTE := DTE - 1; "+
			  "DSO := DSO - 1; "+
			  "LOOP "+
			    "DSO := DSO + 1; "+
			    "DTE := DTE + 1; "+
			    "EXIT "+
			  "WHEN Dso > Lim; "+
			    "TTE   := TRUNC(DTE); "+
			    "SELECT Data, "+
			      "HITS "+
			    "INTO DATX, "+
			      "HITX "+
			    "FROM "+
			      "(SELECT ale.environment Ambiente, "+
			        "TO_CHAR(alh.time, 'DD/MM/YYYY HH24:MI') Data, "+
			        "COUNT(1) Hits "+
			     "FROM apache_log_env ale, "+
			        "apache_log_control alc, "+
			        "apache_logs_hist alh "+
			      "WHERE ale.logenvid   = alc.logenvid "+
			      "AND Alc.Logcontrolid = Alh.Logcontrolid "+
			      "AND alh.data         = TTE "+
			      "AND Ale.Environment  = Amb "+
			      "AND alh.url_path     = '"+servico+"' "+ //--Nome do Serviço entre aspas simples
			      "GROUP BY ale.environment, "+
			        "TO_CHAR(alh.time, 'DD/MM/YYYY HH24:MI') "+
			      "ORDER BY 3 DESC "+
			      ") "+
			    "WHERE ROWNUM < 2; "+
			    "DBMS_OUTPUT.PUT_LINE(DATX || ';' || HITX); "+
			    //--    EXIT WHEN DSO > LIM;
			  "END LOOP; "+
			"END; ");
		
		return dbmsCapacity;
	}