Salut tout le monde!
j'ai un problème de connexion de ma base de données avec éclipse.j'espère bien que quelqu'un pourrait m'aider à le résoudre .En faite j'arrive a charger le driver JDBC mais je n'arrive pas a faire la connexion.voici mon code
package bf.finances.referentiel.prototype.mod2.dao;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;
/**
* Gere les connexion à la base de données
*
*
*
*/
public class Connexion {
private java.sql.Connection dbConn = null;
private String nomDirver ;
private String url;
private String utilisateur;
private String motDePasse;
/**
* crée une instance de la classe
*
*/
public Connexion() {
}
/**
* intialise les paramètres de connexion
* à la BD
*/
public void init(){
//Objet pour lire le fichier properties
Properties props = new Properties();
try {
//Lecture du fichier properties
java.io.InputStream input = Connexion.class.getResourceAsStream("properties.txt");
//Chargement dans l'objet Properties
props.load(input);
this.utilisateur = props.getProperty("user.name");
this.motDePasse = props.getProperty("user.password");
this.url = props.getProperty("driver.url");
this.nomDirver = props.getProperty("driver.class");
props.clone();
input.close();
}catch(Exception e) {
System.out.println("Erreur lors de la lecture du fichier properties "+e);
}
}
/**
* se connecte à la base de données
*
* @return <b>true</b> si la connexion a réussi, sonon retourne <b>false</b>
*/
public boolean connect() {
// Chargement du driver du SGBD (Oracle par exemple)
try {
Class.forName(this.nomDirver);
} catch (Exception e) {
System.err.println("ECHEC DE CHARGEMENT DU DRIVER DU SGBD " + e.toString());
return false;
}
System.out.println("Driver chargé ");
// Connexion à la base de données
try {
dbConn = DriverManager.getConnection(this.url, this.utilisateur, this.motDePasse);
} catch (Exception e) {
System.err.println("ECHEC DE CONNEXION AU SGBD " + e.toString());
return false;
}
System.out.println(" Dirver chargé, connection à la BD effectuée");
// Tout s'est bien passé
return true;
}
/**
* se deconnecte à la base de données
*
* @return <b>true</b> si la desconnexion a réussi, sonon retourne <b>false</b>
*/
public boolean disconnect() {
try {
// fermeture de la connexion
dbConn.close();
} catch (Exception e) {
System.err.println("ECHEC LORS DE LA FERMETURE DE LA CONNEXION "
+ e.toString());
return false;
}
// System.out.println("Deconnecté");
// Fermeture ok
return true;
}
/**
* Retourne un objet de type java.sql.Connection qui permettra d'accéder à
* la BD (exécution de requête, lecture du schéma)
*
* @return <code>java.sql.Connection</code>
*/
public java.sql.Connection getDbConn() {
return dbConn;
}
public void setDbConn(java.sql.Connection dbConn) {
this.dbConn = dbConn;
}
/**
* methode de test de la classe
*/
public static void main(String[] argument) {
Connexion connexion = new Connexion();
connexion.init();
connexion.connect();
//Exemple de request SQL
try {
PreparedStatement stament = connexion.getDbConn().prepareStatement("Select * from ref_pays");
ResultSet resultat = stament.executeQuery();
while (resultat.next()){
System.out.print("CODE PAYS = " + resultat.getString("CODE_PAYS"));
System.out.print(", NOM PAYS = " + resultat.getString("NOM_PAYS"));
System.out.println();
}
stament = connexion.getDbConn().prepareStatement("insert into ref_pays values(?, ?, ?, ?)");
stament.setString(1, "CV");
stament.setString(2, "CC");
stament.setString(3, "CCC");
stament.setString(4, "213");
int nbreLigne = stament.executeUpdate();
System.out.println(nbreLigne + " insérée(s)");
}catch(Exception e) {
System.err.print("Erreur Connexion.main " + e);
}
connexion.disconnect();
}
}
Et voici le message d'erreur:
Driver chargé
ECHEC DE CONNEXION AU SGBD java.sql.SQLException: Exception d'E/S: The Network Adapter could not establish the connection
Erreur Connexion.main java.lang.NullPointerException ECHEC LORS DE LA FERMETURE DE LA CONNEXION java.lang.NullPointerException