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.







Répondre avec citation
Partager