Accéder à une base de données sous Access en Java

Résolu
avridhe - Modifié le 22 déc. 2020 à 15:46
 avridhe - 31 déc. 2020 à 19:25
Je sollicite votre aide car cela fait une bonne semaine que je bataille. J'ai même essayé le programme que vous fournissez en vain. Ci joint mon dernier essai, pour lequel je reçois comme réponse :
Pilote chargé
ERREUR : bd manquante ou connexion invalide.

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Bdd {

     
 public static void main(String[] args) {
  
  String dbUrl = "jdbc:E:\\Personnel\\ Base de données\\ Gestion locative.accdb" ; 
   String usager ="";
    String motdepasse = "";
    
  try {
  Class.forName ("java.sql.DriverManager");
  System.out.println("Pilote chargé");
  }
  catch(ClassNotFoundException cnfe) {
  System.out.println("ERREUR : Driver manquant.");
  } 

  try
  {
  Connection connect  = DriverManager.getConnection(dbUrl, usager, motdepasse);
  
  System.out.println("connécté");
  }
  catch (SQLException se)
  {
  System.out.println("ERREUR : bd manquante ou connexion invalide.");
  }
 }

}

7 réponses

KX
Messages postés
16565
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
3 juillet 2022
124
22 déc. 2020 à 15:58
Bonjour,

Il ne faut pas masquer les exceptions sinon quand tu as un problème tu es incapable de savoir ce qu'il se passe...

Modifies donc tes try/catch pour que les exceptions se propagent, puisque de toute façon tu ne pourras rien faire sans base de données...

package jdbc;
import java.sql.*;
public class Bdd {
    public static void main(String[] args) throws Exception {
        Class.forName("java.sql.DriverManager");
        System.out.println("Pilote chargé");

        String dbUrl = "jdbc:E:\\Personnel\\Base de données\\Gestion locative.accdb";
        String usager = "";
        String motdepasse = "";
        Connection connect = DriverManager.getConnection(dbUrl, usager, motdepasse);
        System.out.println("Connexion ouverte");

        connect.close();
        System.out.println("Connexion fermée");
    }
}

Une fois que tu auras un beau message d'erreur complet, tu pourras le lire pour savoir d'où vient le problème.
1
Merci infiniment, mais ça ne marche pas. J'ai reproduit la correction que vous avez bien voulu m'envoyer dans une nouvelle classe Bdd9.
Voici donc le message d'erreur que je reçois :
Error: Could not find or load main class jdbc.Bdd9
Caused by: java.lang.ClassNotFoundException: jdbc.Bdd9 </gras></gras>
0
KX
Messages postés
16565
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
3 juillet 2022
124 > avridhe
22 déc. 2020 à 18:08
Au lieu d'avancer dans ton problème, tu recules, ton programme n'est même plus démarré...
Il faut que ta nouvelle classe Bdd9 soit public, avec une méthode main, écrite dans un fichier Bdd9.java, compilée et que son exécution soit faite en haut du package jdbc.
Bref, tout pareil qu'avec la classe Bdd mais avec Bdd9.
0