2012-03-25 3 views
1

Meine Anforderung ist, dass mehrere Clients eine Verbindung zu lokalen HyperSQL 2.2.8 und schreiben müssen. Es wird auch einen separaten Client geben, der auf demselben Computer angezeigt wird. Mehrere Writer-Clients und ein Reader-Client müssen daher mit lokalem HyperSQL 2.2.8 verbunden sein. Ich verwende Hibernate zum Lesen und Schreiben von lokalen HyperSQL 2.2.8.mehrere Clients müssen eine Verbindung zu lokalen HyperSQL 2.2.8 und schreiben an hsqldb

Ich betreibe hsldb als Server wie diese java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0 Datei: meinedb --dbname.0 xdb

Mein Problem ist der erste Client hält eine Sperre, wenn es verbindet. Die anderen Clients können nicht schreiben.

Schätzen Sie jede Hilfe bei der Lösung dieses Problems.

Dank Bala

+0

Klingt wie der erste Client ist nicht die Änderungen –

Antwort

1

Nach dem Starten des Servers verbinden Sie mit der URL, um es jdbc:hsqldb:hsq://localhost/xdb. Wenn der Reader-Client Abfragen mit langer Laufzeit durchführt, sollten Sie die Datenbank mit MVCC- oder MVLOCKS-Transaktionsmodellen erstellen. Finden Sie im Handbuch: http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc

+0

Hallo Fredt, Danke für Ihren Kommentar comitting. Ich habe eine Verbindung mit jdbc: hsqldb: hsq: // localhost/xdb hergestellt und der erste Client ist erfolgreich. Aber der nächste Client bekommt eine gesperrte Ausnahme und ich kann eine lck-Datei sehen, die auf dem Dateisystem erstellt wurde. – user558925

+0

Es funktioniert, wenn Sie den Server nur einmal ausführen und dann von allen Clients mit dem Server verbinden. Die gesperrte Ausnahme ist, weil Sie jdbc verwenden: hsqldb: file: um das zweite Mal zu verbinden – fredt

+0

Hallo Fred, Vielen Dank - das klärt die Dinge. Schätze deine Hilfe sehr. – user558925

0

Sie Eigenschaft verwenden können hsqldb.lock_file=false (Standard ist true)

ist standardmäßig eine Sperrdatei für jede Datei-Datenbank erstellt, die für Lese geöffnet und schreiben. Diese Eigenschaft kann mit dem Wert false angegeben werden, um zu verhindern, dass die Sperrdatei erstellt wird. Diese Verwendung wird nicht empfohlen, kann jedoch bei Verwendung von Flashspeicher wünschenswert sein. Diese Eigenschaft gilt für vorhandene Datei: Datenbanken sowie neue Datenbanken.

Bitte sehen http://hsqldb.org/doc/guide/dbproperties-chapt.html