tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
248
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    cpu32 cpu32 ist offline Grünschnabel
    Registriert seit
    Jul 2011
    Beiträge
    1
    Hallo zusammen,

    ich verzweifle gerade an den Versuchen in ein kleines Programm in Java eine Datenbank einzubetten. Dazu muss ich sagen, dass ich erst vor kurzem mit Java angefangen habe, vorher habe ich einige zeit mit VB.Net programmiert. Ich komme mit der Sprache Java und der IDE Eclipse eig auch ganz gut zurecht.

    Nun aber zum eigentlichen Problem: Ich möchte in mein Programm eine bereits vorhandene Datenbank (liegt im .mdf-Format vor, aber ich kenne mich damit nicht so aus.., habe sie vor einiger zeit noch für ein VB.Net-Programm mit dem SQL Server Express Managment Studio erstellt) einbetten, sodass man am ende nur eine einzige .jar-File braucht um das Programm mitsamt der Datenbank und benötigten/m JDBC-Treiber(n) zu starten. Die Datenbank soll möglichst auch dann noch in der .jar-Datei bleiben, sodass keine weiteren Dateien "entstehen".

    Ich habe mich bereits an derby und HSQLDB versucht, komme aber nicht so recht weiter....


    Ich hoffe ich habe mich verständlich ausgedrückt und ihr könnt mir helfen...

    Danke schon einmal im Vorraus!

    cpu32
    Geändert von cpu32 (26.07.11 um 15:23 Uhr)
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Ich würde die Datenbank erst mal mit VB.NET in ein Format bringen (z.B. XML), das du mit Java problemlos einlesen kannst. Dann solltest du am besten HSQLDB nutzen, das ist relativ einfach und komplett in Java geschrieben, so dass du nicht mehr als ein .jar-File ausliefern musst.
    Ich halte es für unwahrscheinlich, dass es für dein Datenbankformat eine Java-API gibt.
    Schau dir mal das Kapitel 24 von http://openbook.galileocomputing.de/...sel_24_001.htm an, vielleicht hilft dir das.
     
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  3. #3
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    905
    Die Dateiendung mdf kommt mir eher in Verbindung von CD-Images vor. Meinst du daher mdb, d.h. eine Access-Datenbank? Ich nehme das zumindest für meine Vorschläge an.

    2 Varianten:
    Variante 1:
    Wenn du nicht gezwungen bist, dass es eine Access Datenbank ist, würde ich die Daten auch eher in eine andere Datenbank umziehen. Dann kannst du mit normalem JDBC drauf zugreifen.
    Als DB schlage ich H2 vor. Das ist der inoffiziele Nachfolger von HSQL und ist wesentlich performanter.

    Zum Umziehen kann dir vielleicht das Tool Squirrel helfen, hier gibt es eine DBCopy Plugin.Ob das Tool Access unterstützt kann ich dir nicht sagen. Du musst dabei aber eine JDBC einrichten. Wie das für Access machbar ist, kann ich dir leider nicht sagen.

    Variante 2:

    Oder du benutzt diese http://jackcess.sourceforge.net/ Bibliothek, um auf die Access-Datenbank zuzugreifen. Der Zugriff ist dann wirklich Access spezifisch. Es kann je nach Access-Version zu Problemen kommen.
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

  4. #4
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Oder ganz einfach JDBC dafür verwenden. Für Access braucht man keinen besonderen Treiber, es wird der ganz normale JDBCODBC-Treiber verwendet und der Connectionstring sieht dann so aus:
    Code :
    1
    
    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" +<Dateipfad> + "}";
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

Ähnliche Themen

  1. Embedded Video in C++
    Von gladted im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 20.09.07, 09:07
  2. Antworten: 2
    Letzter Beitrag: 05.07.07, 08:27
  3. Embedded JSlider
    Von DragQueenMum im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 03.10.06, 12:55
  4. complex mit embedded C++
    Von DaFunk2k im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 25.04.06, 15:53
  5. externes css bei embedded svg?
    Von Inspector im Forum CSS
    Antworten: 0
    Letzter Beitrag: 30.11.05, 11:51

Stichworte