# datenbank (hsqldb) in runnable jar einbinden



## Der-Engels (28. Mai 2010)

Hallo.

Ich habe ein Programm geschrieben in dem auf eine Datenbank zugegriffen werden soll.

Prog. ist fertig und läuft auch soweit, wenn ich in Eclipse starte.

ich habe meine DB im workspace hinterlegt, sodass ich im Programm als Pfad nur den Namen der DB brauche.

Jetzt habe ich eine "runnable Jar" Datei erstellt und ausgeführt.

Mein Programm startet und bekommt auch Verbindung zur DB. 
--> Wird gleich zu Anfang hergestellt und erst beim beenden der Applikation wieder geschlossen<--

Wenn ich jetzt aber auch Inhalte zugreifen möchte bekomme ich eine Exception:
>>Table not found in Statement [SELECT * FROM User]<<
User ist der eine von 3 Tabellen in meiner DB.

Ich vermute jetzt, dass ich die DB nicht richtig in die Jar. eingefügt habe.
Werde aber auch nicht danach gefragt.

Die Jar Datei erstelle ich mit Eclipse im Package Explorer -->Export...-->Java-->Runnable JAR file.

Kann man Datenbanken überhaupt in eine runnable Jar einbinden. Eine Jar ist ja soweit ich weis nur eine art Zip-file. (Oder weis ich da etwas falschen???)
Ich weis dass ich auch einen festen Pfad angeben kann, dann muss ich aber meine Applikation installieren, und ich kann sie nicht einfach als „kleine Datei“ beim Nutzer  hinterlegen.

Danke im Voraus.


----------



## maki (28. Mai 2010)

> Kann man Datenbanken überhaupt in eine runnable Jar einbinden.


Nein, zumindest nciht die Dateien, welche Daten beinhalten und deswegen geändert werden, wenn es einen Read-Only Modus gibt, wäre der zumindest denkbar.


----------



## Der-Engels (28. Mai 2010)

Ok Danke 

hab das jetzt über  

```
String file=System.getProperty("user.dir");

connection = DriverManager.getConnection
("jdbc:hsqldb:file:"+file+"/HSQLDB_Zeitnachweis/Zeitnachweis2010;shutdown=true", "sa", "");
```

gelöst.


----------

