Bonjour,
Je souhaiterai soumettre mon code à votre avis.
J'ai mon programme JAVA qui se connecte à la BDD dont voici le code de connexion:
Pour contrer l'erreur de la connexion fermer, je raisonne de la manière suivante à chaque requête: J'ouvre et je ferme à chaque requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public class Connexion_BDD{ private static String url = "*********"; private static String user = "*******"; private static String passwd = "******"; private static Connection connect; // Méthode pour se déconnecter à la bd public static Connection close() { try { if (connect!=null){ connect.close(); //System.out.println("Fermer " + connect); connect=null; } } catch (SQLException e) { e.printStackTrace(); } return connect; } public static Connection IdConnect() { try { connect = DriverManager.getConnection(url, user, passwd); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR DE CONNEXION ! ", JOptionPane.ERROR_MESSAGE); } return connect; } }
Je vais avoir une dizaine d'utilisateurs de l'appli qui devront se connecter à la bdd avec le même identifiant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 PreparedStatement preparedStatement =null; ResultSet rs=null; try { //Ouvre la connexion connection=Connexion_BDD.IdConnect(); preparedStatement = connection .prepareStatement("INSERT INTO EntreTrainEntite (NumET,NumE,ObservationET) VALUES(?,?,?) ; "); preparedStatement.setInt(1,NumET) ; preparedStatement.setInt(2,1) ; preparedStatement.setString(3,getObservation()) ; preparedStatement.executeUpdate(); //Ferme la connexion Connexion_BDD.close(); } catch (SQLException e) { //TODO Auto-generated catch block e.printStackTrace(); finally{ try{if(connection!=null){connection.close();}}catch(Exception e4){} } }
Je rencontre de temps en temps l'erreur "Socket closed" ce qui annule l'exécution de ma requête.
Comment je peux éviter la fermeture des connexions pendant l’exécution?
Merci d'avance!
Maxime.
Partager