Erreur lien java avec access

Résolu
aaa2017 -  
 aaa2017 -

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. KX Messages postés 19031 Statut Modérateur 3 020
     

    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.


    0
  2. aaa2017
     

    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

    0
  3. aaa2017
     

    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

    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       

      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é.

      0
  4. aaa2017
     

    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());
            }
        }
        }
    
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       

      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.

      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       

      Remarque :

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

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aaa2017
     

    BONSOIR,

    Merci beaucoup pour ces informations. 

    0