Verificar se a Base de Dados está no ar

2 respostas
arthurgon

Boa tarde galera. Estou com um problema meio chato aqui. Preciso mostrar em uma tela se o Banco está ou não ativo. Minha Base é Oracle. Estou fazendo SELECT na tabela DUAL pra saber o banco está ou não no ar. O problema é que não tá rolando. Está me retornando uma exception.
Esse é o método:

public String execute() {
		try {
			System.out.println("tentando conectar...");
			jdbcTemplate.query("select * from dual", new RowMapperResultSetExtractor(null));
			System.out.println("conexao ok");
		} catch(Exception e) {
			System.out.println("falhou");
		}
		return null;
	}

Se alguem puder me ajudar eu agradeço.

2 Respostas

E

É melhor usar o comando SELECT SYSDATE FROM DUAL:

http://www.adp-gmbh.ch/ora/misc/dual.html

E para imprimir a exception, use:

ex.printStackTrace ();

em vez de só escrever “falhou” (que não lhe dá diagnóstico nenhum sobre o que ocorreu.)

guerios
arthurgon:
Boa tarde galera. Estou com um problema meio chato aqui. Preciso mostrar em uma tela se o Banco está ou não ativo. Minha Base é Oracle. Estou fazendo SELECT na tabela DUAL pra saber o banco está ou não no ar. O problema é que não tá rolando. Está me retornando uma exception. Esse é o método:
public String execute() {
		try {
			System.out.println("tentando conectar...");
			jdbcTemplate.query("select * from dual", new RowMapperResultSetExtractor(null));
			System.out.println("conexao ok");
		} catch(Exception e) {
			System.out.println("falhou");
		}
		return null;
	}

Se alguem puder me ajudar eu agradeço.

Tem várias formas de fazer.

A exception que retorna ali vc pode dar um catch nela e mostrar o falhou só na exceção de falha de conexão

Ou usar a conexão jdbc pra isso connection.isClosed()

Criado 16 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 2
Participantes 3