IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Impossible d'accéder à une base MS Access avec le driver JDBC-ODBC


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Points : 149
    Points
    149
    Par défaut Impossible d'accéder à une base MS Access avec le driver JDBC-ODBC
    Bonjour,

    Depuis que je suis passé à Windows 8.1, j'ai un problème avec le bridge JDBC-ODBC pour accéder à une base MS/Access (que je migre vers MySQL).

    1) J'ai installé les deux versions de Java 8 (32 bits et 64 bits) car je n'ai pas MS/Access en mode 64 bits.

    2) J'ai installé dans le répertoire java\jre\lib\ext le jar qui contient le jdbcOdbcDriver.

    3) j'ai bien défini la dataSource en mode 32 bits pour la base MS/ACCESS (ce que je fais depuis plusieurs années).

    Le code que j'utilise (et qui n'a pas changé) est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
                    try 
    		{
    			String dataSourceName = "MaBase";
    			String dbURL = "jdbc:odbc:" + dataSourceName;
     
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			java.sql.Connection   cnxA = java.sql.DriverManager.getConnection(dbURL, "",""); 
    			if (cnxA==null)
    			{
    				String msg[] = { "La connexion à la base MS/ACCESS a  échouée", " ", "Exécution terminée"};
    		  		afficherMessage(msg);	
    		  		System.exit(8); 
    			}
    		}
    		catch (Exception ex) {System.out.println(ex.toString()); System.exit(8); }
    	}
    Je lance mon programme
    C:\Local>"c:\Program Files (x86)\java\jre\bin\java" -cp .;monjar.jar mcb.MCB_Migrer_MySQL

    et j'obtiens les messages ci-dessous

    Merci de m'indiquer l'erreur que j'ai dû faire.
    Cordialement

    Gérard



    ]Exception in thread "main" java.lang.NoClassDefFoundError: sun/security/action/LoadLibraryAction
    at sun.jdbc.odbc.JdbcOdbc.<init>(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at mcb.MCB_Migrer_MySQL.<init>(MCB_Migrer_MySQL.java:39)
    at mcb.MCB_Migrer_MySQL.main(MCB_Migrer_MySQL.java:330)

    Caused by: java.lang.ClassNotFoundException: sun.security.action.LoadLibraryAction
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 265
    Points : 149
    Points
    149
    Par défaut
    Merci à ceux qui ont lu mon problème (même s'ils n'ont pas répondu).

    En fait j'ai trouvé un moyen de le résoudre en utilisant le driver "ucanaccessDriver".

    C'est d'ailleurs beaucoup mieux, car il travaille en JDBC directement (sans ODBC) donc pas la peine de de définir une datasource et en plus cela marche très bien en mode 64 bits.

    Peut-être que ce post aidera d'autres développeurs confrontés au même problème.

    Gégé

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Pour rappel et si d'autres passent ici, le pont JDBC/ODBC n'existe plus en java 8, donc ça ne risquait pas de fonctionner.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/02/2008, 09h02
  2. Pb pour accéder à une base MS Access 2.0
    Par Cassios dans le forum Access
    Réponses: 2
    Dernier message: 21/03/2007, 17h40
  3. Accèder à une base oracle 9 avec un client 8
    Par griese dans le forum Connexions aux bases de données
    Réponses: 12
    Dernier message: 22/11/2006, 14h14
  4. Impossible d'ouvrir une base access
    Par bruno77 dans le forum Access
    Réponses: 6
    Dernier message: 09/05/2006, 15h50
  5. Impossible d'ouvrir une base Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 8
    Dernier message: 14/12/2005, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo