Bonjour,

Tous d'abord, je suis débutant en java et donc mon code ne doit pas être le plus propre possible ^^

J'ai créer un programme se connectant a une bdd Mysql distante et recuperant/ecrivant des données.
Lorsque je le compile et l'execute avec Eclipse, tous marche très bien et je peux effectuer mes opérations sans problème.

Par contre, si je crée un fichier .jar ou que j'execute ma Main.class, il semblerait que la connexion ne se fasse plus et je ne peux plus rien faire sur la bdd.

Je vous joint le code de ma classe s'occupant de la partie bdd:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package bdd;
 
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
 
public class BDD {
	private Connection conn;
	private Statement stmt=null;
	private ResultSet rs=null;
	private int resultat;
	private FileInputStream in;
	private String url;
	private String user;
	private String password;
 
	public BDD(){
		this.initialisation();
		this.connexion();
	}
 
	// Initialise la connexion à la BDD
	public boolean initialisation(){
		// Récupération des variables stockées dans db.properties
	    Properties prop = new Properties();
	    try{
	    		in = new FileInputStream("bdd/db.properties");
	    		prop.load(in);
	    	    in.close();
	    }catch(IOException e){
	    		System.out.println("Erreur d'ouverture du fichier: "+e);
	    }
	    url = prop.getProperty("url");
	    user = prop.getProperty("user");
	    password = prop.getProperty("password"); 
 
	    // Chargement du driver de connexion à la BDD
		try{
			Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			return true;
		} catch(Exception e) {
			System.err.println("Erreur de chargement du driver :" + e);
			return false;
		}
	}
 
	// Se connecte à la BDD
	public boolean connexion(){
		try {
		    conn = DriverManager.getConnection("jdbc:mysql://"+url, user, password);
		    return true;
		} catch (SQLException ex) {
			System.out.println("SQLException: " + ex.getMessage());
		    System.out.println("SQLState: " + ex.getSQLState());
		    System.out.println("VendorError: " + ex.getErrorCode());
		    return false;
		}
	}
 
	// Récupère les valeurs dans une table de la BDD
	public ResultSet reqSelect(String requete){
		try{
			stmt=conn.createStatement();
			rs=stmt.executeQuery(requete);
			return rs;
		} catch (SQLException e){
			System.out.println("SQLException: " + e.getMessage());
		    System.out.println("SQLState: " + e.getSQLState());
		    System.out.println("VendorError: " + e.getErrorCode());
			return rs;
		}
	}
 
	// Récupère les valeurs dans une table de la BDD
	public int reqModification(String requete){
		try{
			stmt=conn.createStatement();
			resultat=stmt.executeUpdate(requete);
			return resultat;
		} catch (SQLException e){
			System.out.println("SQLException: " + e.getMessage());
		    System.out.println("SQLState: " + e.getSQLState());
		    System.out.println("VendorError: " + e.getErrorCode());
			return resultat;
		}
	}
 
	// Afficher les résultats de la requête
	public void creerTable(){
		/*CREATE TABLE `cd` (
				`id_cd` INT( 5 ) AUTO_INCREMENT,
				`nom_cd` VARCHAR( 50 ) NOT NULL ,
				`num_cd` INT( 5 ) NOT NULL ,
				`description` VARCHAR( 200 ) NOT NULL ,
				PRIMARY KEY ( `id_cd` )
				);*/
	}
 
	// Vérifie si la table existe dans la BDD
	public boolean existTable(String nom){
		try{
			DatabaseMetaData dma=conn.getMetaData();
			rs = dma.getTables(null, null, nom, null);
			System.out.println();
			if(rs!=null) return true;
			else return false;
		} catch(SQLException e){
			System.out.println("Erreur test existence table: "+e);
			return false;
		}
	}
 
}
Merci d'avance,
Kilay.