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.");
  }
 }

}
A voir également:

7 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 127 > 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