Connexion d'une base de donnée a eclipse [Résolu]

zitiba 10 Messages postés vendredi 20 juin 2008Date d'inscription 4 novembre 2008 Dernière intervention - 19 sept. 2008 à 16:13 - Dernière réponse : natijach 2 Messages postés jeudi 2 décembre 2010Date d'inscription 1 juin 2012 Dernière intervention
- 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
Afficher la suite 

4 réponses

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

Bon courage
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jiidou
zitiba 10 Messages postés vendredi 20 juin 2008Date d'inscription 4 novembre 2008 Dernière intervention - 29 sept. 2008 à 16:07
0
Utile
oui c'est vrai!!!je viens de m'en rendre compte.Merci beaucoup jiidou!!!
Commenter la réponse de zitiba
bazdig25 4 Messages postés vendredi 5 octobre 2007Date d'inscription 16 mars 2009 Dernière intervention - 16 mars 2009 à 19:57
0
Utile
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
Commenter la réponse de bazdig25
natijach 2 Messages postés jeudi 2 décembre 2010Date d'inscription 1 juin 2012 Dernière intervention - 1 juin 2012 à 22:48
0
Utile
Est ce qu'on peut faire la connexion à une base de données Access avec Eclipse?
Commenter la réponse de natijach

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.