Error fatal desculpe muitos clientes conectados

Galera apareceu esse erro na minha aplicação. Tenho uma DAO que retorna um resultset, mas se eu tento fechar o preparedStatement, o resultset fica como fechado!

Como resolver isso?

Especifique mais.

Especifique mais.

O close de qualquer Statement sempre fecha também o ResultSet gerado a partir dele:

http://docs.oracle.com/javase/6/docs/api/java/sql/Statement.html#close()

Na aplicação eu faço uma pesquisa de um aluno, e uma jtable é preechida com todas as disciplinas que esse aluno cursa.
Eu tenho um metodo na DAO que retorna um resultSet com todas as disciplinas desse aluno e preenche essa jtable. Está funcionando, porem se faço a mesmo pesquisa varias vezes ele acaba dando esse erro.

Um ResultSet não deve nem ser visto fora do DAO, ele deve apenas preencher alguma Collection, uma List, e retornar essa List (vazia ou preenchida) para a camada que o chamou.

Numa nova pesquisa, crie os statements e os resultsets, faça a consulta novamente, e feche os objetos.

Consegui resolver o problema, dentro do finally coloquei um connection.close (). Uma duvida…tem como abrir apenas uma conexao para todos os metodos do DAO , ou em cada metodo eu abro uma nova e fecho a mesma ?

O correto e abrir e fechar uma conexao por metodo. Se voce manter uma unica conexao aberta durante todo o tempo estara consumindo recursos do banco sem necessidade.