Connexion d'une base de donnée a eclipse

Résolu
zitiba Messages postés 10 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 4 novembre 2008 - 19 sept. 2008 à 16:13
natijach Messages postés 2 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 1 juin 2012 - 1 juin 2012 à 22:48
 
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 true si la connexion a réussi, sonon retourne false
               */
              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 true si la desconnexion a réussi, sonon retourne false
               */
              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
java.sql.Connection

               */
              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

4 réponses

jiidou Messages postés 48 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 12 février 2009
22 sept. 2008 à 12:08
Bonjour,
Apparemment tu recupere pas les bonnes valeur a partir du fichier properties.txt

Bon courage
3
zitiba Messages postés 10 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 4 novembre 2008
29 sept. 2008 à 16:07
oui c'est vrai!!!je viens de m'en rendre compte.Merci beaucoup jiidou!!!
0
bazdig25 Messages postés 4 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 16 mars 2009
16 mars 2009 à 19:57
Salut,
essaye aves ça :

Oracle :
"jdbc:oracle:thin:@localhost:1521:XE" ; (personnalise ta base 1521:num de port et XE:10g Xedition .... se sont des parametre à modifier selon la base...).
MySQL:
 "jdbc:mysql:///test"

Driver à charger :

Oracle :
"oracle.jdbc.driver.OracleDriver"

MySQL :
"com.mysql.jdbc.Driver"

PS si tu va utiliser Oracle, télécharge le OJDBC14.jar depuis le site d'oracle. Et ajoute le à la librairie.

Bonne chance.

Bazdig25
0
natijach Messages postés 2 Date d'inscription jeudi 2 décembre 2010 Statut Membre Dernière intervention 1 juin 2012
1 juin 2012 à 22:48
Est ce qu'on peut faire la connexion à une base de données Access avec Eclipse?
0
Rejoignez-nous