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


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

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