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 :
Je lance mon programme
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); } }
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
Partager