Compilation, plus de connexion
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:
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.