Erreur lien java avec access

Résolu

Bonjour,

un message d'erreur que j'ai eu quand j'exécute :

"Exception in thread "main" java.lang.UnsupportedClassVersionError: net/ucanaccess/jdbc/UcanaccessDriver : Unsupported major.minor version 52.0" 


Windows / Chrome 125.0.0.0

5 réponses

  1. Bonjour,

    Jai essayé et ca na pas marché,

    je t envoi le programme

    même j'ai essayé d'autres chemins, parmi eux celui ci

    String url ="jdbc:ucanaccess://C://Inventaire.accdb";

    et je reçois le message :

    run:
    The UCANACCESS_HOME system variable isn't defined:
     it should be:
    -DUCANACCESS_HOME=<your path to the UCanAccess-3.x.x-bin folder> 
    BUILD SUCCESSFUL (total time: 0 seconds)

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package appinventaire;
    
    /**
     *
     * @author CACI
     */
    import java.sql.*;
    public class Appinventaire {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            try{
                //chargement du driver
                Class.forName("net.ucanaccess.jdbc.UcanloadDriver");
                String url ="jdbc:ucanaccess:///C/Users/CACI/Desktop/VBOXSVRInventaire/Inventaire.accdb";
                String user ="admin";
                String password="";
               
                //Connexion avec la base de données
               Connection cx = DriverManager.getConnection(url, user, password);
               
               //Création d'une requête
               Statement smt = cx.createStatement();
             
               //Exécution de la requête
               String sql = "SELECT * FROM Table Panne";
               ResultSet res = smt.executeQuery(sql);
               
               //Exploitation du résultat
               while (res.next()) {
                   System.out.println(res.getString("Num Panne")+"-"+
                                      res.getString("Num bureau")+"-"+
                                      res.getString("Pannes")+"-"+
                                      res.getString("Remarques"));
                   
                   //fermeture des objets   
                   res.close();
                   smt.close();
                   cx.close();
               }
            } catch(Exception ex){
                System.out.println(ex.getMessage());
            }
        }
        }
    
    1. Modérateur

      Ce n'est pas un problème de code Java, mais de configuration de ton système Windows.

      Il faut créer une variable d'environnement UCANACCESS_HOME pour définir où est installé ton driver, c'est à dire le dossier issu de la décompression du zip téléchargé.

      La procédure exacte dépend de la version Windows mais en gros ça se passe dans le panneau de configuration Windows.

    2. Modérateur

      Remarque :

      Dans le code ton url "jdbc:ucanaccess:///C/Users" est a priori fausse, tu devrais avoir quelque chose comme "jdbc:ucanaccess://C:/Users"

  2. Bonsoir,

    j'ai travaillé avec "UCanAccess-4.0.2-bin", c bon il a trouvé le driver mais je reçois cette résultât:

    "The UCANACCESS_HOME system variable isn't defined:
     it should be:
    -DUCANACCESS_HOME=<your path to the UCanAccess-3.x.x-bin folder>
    "

    sachant que je travaille avec une machine virtuelle en utilisant le 

    "NetBeans IDE 7.2.1" et Microsoft office n'est pas installé à la machine virtuelle.

                                  merci

    1. Modérateur

      L'erreur est très explicite.

      Il faut que tu crées une variable d'environnement UCANACCESS_HOME dont la valeur est le chemin d'accès au répertoire du driver téléchargé.

  3. Rebonjour,

    oui, j'utilise java 7,

    je veux utiliser un driver plus ancien mais j'ai pas trouvé,

    ou je le trouve?

                              merci pour les informations

  4. Modérateur

    Bonjour,

    Tu utilises un driver compilé en Java 8 (version 52) dans un programme Java qui s'exécute dans une version antérieure (Java 7 ou moins)

    Tu dois donc soit utiliser un driver plus ancien, soit exécuter ton programme en Java 8 ou plus.

    Pour info, la dernière version est Java 22.