Erreur: source de Données rejeté l'établissement de la connexion, message du serveur: “Trop de connexions”

J'ai créé une application qui écrit des données dans la base de données toutes les 5 minutes.

Cependant, après un certain temps, cette erreur s'affiche:

Error: Data source rejected establishment of connection, message from server: "Too many connections"

J'ai été la recherche autour et vous dit de fermer la connexion à la base de données après chaque demande de côté.

J'ai essayé ceci:

conexao.close();

Mais il me donne cette erreur:

No operations allowed after conection closed.

Je m'excuse si la question n'est pas bien formulé.

Merci pour l'aide

---------------------Ce que j'ai essayé, mais n'a pas fonctionné---------------------------

Ajouter

finally{ 
    if(conexao!=null)
   conexao.close();
   }

  Class.forName("com.mysql.jdbc.Driver");
Connection conexao = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/bdTeste", "root", "root");
Statement stm = conexao.createStatement();
BufferedReader reader = new BufferedReader(new FileReader("C:/Users/RPR1BRG/Desktop/test.txt"));
String dados[] = new String[6];
String linha = reader.readLine();
while (linha != null) {
StringTokenizer st = new StringTokenizer(linha, ";\"");
dados[0] = st.nextToken();
dados[1] = st.nextToken(); 
dados[2] = st.nextToken();
dados[3] = st.nextToken();
dados[4] = st.nextToken();
dados[5] = st.nextToken();
DateFormat dateFormat = new SimpleDateFormat("d-M-yy");
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement("replace into registos"
+ " (data_registo, hora_registo, IdSensor, Temperatura, Humidade, pt_orvalho) values (?,?,?,?,?,?)");
try {
stmt.setDate(1, new java.sql.Date(dateFormat.parse(dados[0]).getTime()));
stmt.setString(2, dados[1]);
stmt.setString(3, dados[2]);
stmt.setString(4, dados[3]);
stmt.setString(5, dados[4]);
stmt.setString(6, dados[5]);
} catch (java.text.ParseException ex) {
Exceptions.printStackTrace(ex);
}
stmt.executeUpdate();
linha = reader.readLine();
PrintWriter writer = new PrintWriter("C:/Users/RPR1BRG/Desktop/test.txt"); 
writer.print("");
writer.close();
Verifica();
}
} catch (ClassNotFoundException | SQLException | IOException e) {
System.err.println("Erro: " + e.getMessage());
}finally{ 
if(conexao!=null)
conexao.close();
}
combien de fois est-ce code appelé ? je pense que vous êtes la création d'un grand nombre de connexions sans les fermer
Merci pour la réponse: - je appeler ce code toutes les 5 minutes pour lire le fichier et écrire dans la base de données. J'ai essayé de fermer la connexion, mais donnez-moi une autre erreur: "Aucune des opérations après la connexion fermée."

OriginalL'auteur user3320956 | 2014-03-24