# MySQL zu MS Access



## Loki2 (5. März 2007)

Hallo,

ich möchte eine Tabelle aus einer MySQL Datenbank in eine MS Access Datei schreiben. Ich habe schon nach Möglichkeiten gegoogelt und bin auch Jackcess gestoßen.
Das scheint mir sehr dafür geeignet nur leider funktioniert das nicht 
Der build funktioniert zwar ohne Probleme aber wenn ich das dann laufen lasse bekomme ich folgende Fehlermeldung:

java.lang.UnsupportedClassVersionError: com/healthmarketscience/jackcess/Database (Unsupported major.minor version 49.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at de.bendit.AccessService.AccessService.main(AccessService.java:140)
Exception in thread "main" 

Ich habe schon java 1.4 und 1.5 ausprobiert sowie Jackcess Version 1.0 und 1.1.8 aber immer die gleiche Exception.

Das ist mein Code:

```
Connection connectionMain = null;
        String drvclassMain = "com.mysql.jdbc.Driver";
        Class.forName(drvclassMain).newInstance();
        connectionMain = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
            Statement stm = connectionMain.createStatement();
            ResultSet rs = stm.executeQuery("Select * from myTable");
            Database.open(new File("C:/temp/my.mdb")).copyTable("Imported", rs);
```
Hat jemand eine Idee dazu warum das nicht funktioniert oder gibt es noch alternativen zu Jackcess

Vielen Dank schon mal.

Gruß und so
Loki2


----------



## Thomas Darimont (5. März 2007)

Hallo,

bist du ganz sicher das du es auch mit der "richtigen" Java 5 Runtime versucht hast? Was sagt denn an dieser Stelle System.out.println(System.getProperty("java.version")); ?



> java.lang.UnsupportedClassVersionError: com/healthmarketscience/jackcess/Database (Unsupported major.minor version 49.0)


Ist ein Indiz dafür, dass du versuchst eine speziell für Java 5 kompilierte Class-Datei unter einer älteren Java Version (beispielsweise 1.4, 1.3 ...) zu laden.

Gruß Tom


----------



## Loki2 (6. März 2007)

Hallo,

ja Du hast recht es wurde noch die falsche JRE verwendet. Das habe ich jetzt behoben und schon läufts.
Ich bekomme die Fehlermeldung allerdings auch wenn ich alles auf JRE 1.4 umstelle und Jackcess 1.0 benutze obwohl die Version angeblich mit 1.4 funktionieren soll 

Kennt noch jemand alternativen zu Jackcess?

Gruß und so
Loki2


----------



## Thomas Darimont (6. März 2007)

Hallo,

wenn das nur eine einmalige Aktion ist würd ich das einfach mit dem dbcopy Plugin von squirrel-sql client machen -> http://squirrel-sql.sourceforge.net/

Ansonsten kommst du natürlich von java aus auch per ODBC auf ne MS Access Datenbank:
http://www.tutorials.de/forum/java/201081-die-beispiele-des-videoworkshops-zum-thema-jdbc.html

Gruß Tom


----------

