# Java und Access?



## Guest (19. Aug 2008)

Hallo,

ich stehe gerade vor einer Grundsatzenscheidung. Ich muss ein kleines Tool programmieren welches Daten aus einer CSV oder TXT Datei verarbeiten und miteinander verknüpfen und wieder als CSV Datei exportieren soll. 

Ich habe mir das so vorgestellt, dass ich die Daten in eine Datenbank lege. Da ich mich mit SQL recht gut auskenne, kann ich dort die Daten mittels SQL Abfragen verknüpfe und wieder exportieren. Einziger aufwand wäre hier einen Import und einen Export zu schreiben.

Stellt sich für mich derzeit nur die Frage kann ich eine Access DB verwenden, die ich meinem Programm (als Datencontainer) beilege? oder gibt es hier ggf. kleinere / größere Probleme?

- Muss auf dem Rechner der das Programm dann einsetzt Access installiert sein?
- Wie verhält es sich dann ggf. bei unterschiedlichen Version (Ich habe hier Access 2000) kann aber sein das auf dem PC eben eine andere Version installiert ist / wird?
- Gibt es alternativen? Ohne das ich auf dem Zielrechner ein Datenbanksystem z.B. MySQL installieren muss?

Danke für eure Tips.


----------



## tfa (19. Aug 2008)

Nimm um Gottes Willen eine Datenbank und kein Access.
Z.B. Derby (JavaDB) wird seit Version 6 Bestandteil des JDK. Du kannst diese DB im Embedded-Modus laufen lassen, damit ist keine Installation oder Administration nötig.


----------



## Gast (19. Aug 2008)

Das klingt gut. 

Hast du dazu vielleicht auch einen Link mit ein paar weiteren Informationen?


----------



## tfa (19. Aug 2008)

http://developers.sun.com/javadb/

Einfach das derby.jar in den Klassenpfad packen, und schon hast du eine SQL-DB:


```
public class Test {

    public static void main(String... args) throws Exception {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        Connection con = DriverManager.getConnection("jdbc:derby:meineDb;create=true");
        
        Statement stmt = con.createStatement();
        ResultSet rset = stmt.executeQuery("select * from blabla");
        while (rset.next()){
            System.out.println(rset.getObject(1));
        }
        stmt.close();
        con.close();              
    }
}
```


----------

