Hallo,
ich habe eine H2-Datenbank und möchte diese über WebStart verteilen.
Der Anwender erhält das Programm, das DBMS (H2) und natürlich die Datenbank (read only). Das ganze soll nämlich auch offline funktionieren.
Meine DB habe ich einfach in eine Jar gepackt.
Wie muß ich jetzt die Connection zu der Datenbank machen?
Ich habe schon folgendes probiert:
Bei WebStart muß man über den Classpath auf die Dateien zugreifen. Da (unter Windows) die heruntergeladen Jars vor dem Anwender versteckt werden, gibt es leider auch keinen Pfad, den man ermitteln könnte.
In der H2-Anleitung Advanced steht zwar, das man
benutzen kann, aber da bringt er mir die gleiche Fehlermeldung wie oben.
Bei Derby würde es so aussehen:
Wie macht man das bei H2, bzw. geht das überhaupt mit H2?
Ich benutze die Version h2-1.3.159.
Alle Jars sind signiert und die JNLP ist auch in Ordnung.
MfG
hansmueller
ich habe eine H2-Datenbank und möchte diese über WebStart verteilen.
Der Anwender erhält das Programm, das DBMS (H2) und natürlich die Datenbank (read only). Das ganze soll nämlich auch offline funktionieren.
Meine DB habe ich einfach in eine Jar gepackt.
Wie muß ich jetzt die Connection zu der Datenbank machen?
Ich habe schon folgendes probiert:
Code:
jdbc:h2:MeineDB;IFEXISTS=TRUE;ACCESS_MODE_DATA=r;
Code:
org.h2.jdbc.JdbcSQLException: URL Format Fehler; erwartet "jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]", erhalten "jdbc:h2:MeineDB"
URL format error; must be "jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]" but is "jdbc:h2:MeineDB" [90046-159]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
Code:
jdbc:h2:file:MeineDB;IFEXISTS=TRUE;ACCESS_MODE_DATA=r;
Code:
org.h2.jdbc.JdbcSQLException: URL Format Fehler; erwartet "jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]", erhalten "jdbc:h2:file:MeineDB"
URL format error; must be "jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]" but is "jdbc:h2:file:MeineDB" [90046-159]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
Bei WebStart muß man über den Classpath auf die Dateien zugreifen. Da (unter Windows) die heruntergeladen Jars vor dem Anwender versteckt werden, gibt es leider auch keinen Pfad, den man ermitteln könnte.
In der H2-Anleitung Advanced steht zwar, das man
Code:
classpath:
Bei Derby würde es so aussehen:
Code:
jdbc:derby:classpath:MeineDB;create=false;
Wie macht man das bei H2, bzw. geht das überhaupt mit H2?
Ich benutze die Version h2-1.3.159.
Alle Jars sind signiert und die JNLP ist auch in Ordnung.
MfG
hansmueller