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

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

Votre réponse

4 réponses

Meilleure réponse
Messages postés
48
Date d'inscription
vendredi 31 août 2007
Dernière intervention
12 février 2009
3
Merci
Bonjour,
Apparemment tu recupere pas les bonnes valeur a partir du fichier properties.txt

Bon courage

Merci jiidou 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de jiidou
Messages postés
10
Date d'inscription
vendredi 20 juin 2008
Dernière intervention
4 novembre 2008
0
Merci
oui c'est vrai!!!je viens de m'en rendre compte.Merci beaucoup jiidou!!!
Commenter la réponse de zitiba
Messages postés
4
Date d'inscription
vendredi 5 octobre 2007
Dernière intervention
16 mars 2009
0
Merci
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
Messages postés
2
Date d'inscription
jeudi 2 décembre 2010
Dernière intervention
1 juin 2012
0
Merci
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.