Java.sql.SQLException: Listener refused

pessoal meu sistema anda bem , porem andaria melhor se nao fosse esse tipo de erro que ocorre com muita frequencia:

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found

alguem poderia me ajudar ?
desde ja agradeco pela atencao !!

O nome da exceção é auto-explicativa. Ele está recusando conexões e não simplesmente pelo fato de não achar o handler, mas pode estar tendo problemas com muitas conexões abertas ao mesmo tempo.

Poderias também pesquisar na internet e acharia:
http://ora-12519.ora-code.com/

Se está intermitente, então é provável que esteja abrindo muitas conexões ao mesmo tempo e não liberando-as, fazendo com que o banco sobrecarregue e deixe de aceitar novas conexões.

Até!

Obs.: Coitadas das araucárias.

uso o oracle express edition , ele possui limites de conexoes ?
entendi, porem como devo proceder ?

td vez em que uso um objeto da classe Connection , eu no fim uso o metodo close(); tem algo mais q pode ser feito ?

Duas coisas que podem estar acontecendo:

  1. Estás abrindo muitas conexões simultâneas, mesmo que fechando ao final do uso de todas. Na documentação não fala nada de limitação desse tipo, mas 20/30 conexões simultâneas já são o suficiente para deixar um banco caseiro maluquinho.
  2. Estás com falta de hardware. Pode ser que quando estejas executando a conexão, o uso do CPU e de memória esteja no limite, fazendo com que o servidor “deixe de responder” novas solicitações até poder processá-las direito.

Verifique se em algum dos dois casos você se enquadra.

Até!

cara me enquadro no primeiro caso … e agora rsrs ?

Pool de conexões. Tem muitos a disposição, recomendo o C3P0.

Até!

O Banco em sí não tem limite de conexões.
Mas o o XE vem com configurado com o limite de 30, podendo ser alterada a qualquer momento.

[quote=maquiavelbona]Pool de conexões. Tem muitos a disposição, recomendo o C3P0.

Até![/quote]

antes deu baixar, poderia me explicar duas coisas ?
qual o objetivo entao do metodo close(); ?
de q se trata esse lance de pool de conexoes ?

pow tomara q d certo !!! thanks !!

[quote=nbluis]O Banco em sí não tem limite de conexões.
Mas o o XE vem com configurado com o limite de 30, podendo ser alterada a qualquer momento.[/quote]

onde configuro ?

O Connection.close() realmente fecha conexões, mas se tiveres muitas conexões simultâneas ( ao mesmo tempo ) vai ter problemas.
O Connection Pool gerencia as conexões por você, devolvendo uma aberta, abrindo uma nova e fechando quando necessário.

Até!

ok !!!
mas o q faco com o .zip q baixei ?
é so colocar no diretorio la do eclipse e pronto ?

http://www.mchange.com/projects/c3p0/index.html

cara … tentei sem sucesso :frowning:

pelo q entendi seria p/ modificar o metodo de conexao com o banco, mas
fiz da seguinte maneira e nao deu certo, poderia dizer o q ainda esta errado…
a parte comentada representa a maneira como estava.

public Connection conecta() {

		try {
			ComboPooledDataSource cpds = new ComboPooledDataSource();
			// carregando o driver do banco de dados
			// Class.forName(DRV);

			try {
				cpds.setDriverClass(DRV);
			} catch (PropertyVetoException e) {
				e.printStackTrace();
			}

			cpds.setJdbcUrl(url);
			cpds.setUser(userName);
			cpds.setPassword(password);

			conn = cpds.getConnection();

			// conn = DriverManager.getConnection(url, userName, password);

			System.out.println("Conexão OK!");
			return conn;

		} catch (SQLException e) {
			e.printStackTrace();
		}
		// } catch (ClassNotFoundException e) {
		// e.printStackTrace();
		// }
		return null;
	}

pessoal alguem me ajude please rsrrrs
ainda to com esse problema !!