h2 in-memory-Tabellen, die remote-Verbindung
Ich habe Probleme mit dem erstellen einer in-memory-Tabelle, mit H2-Datenbank, und der Zugriff außerhalb der JVM ist erstellt und läuft in.
In der Dokumentation Strukturen die url als jdbc:h2:tcp://<host>/mem:<databasename>
Ich habe versucht, so viele Kombinationen, aber einfach nicht bekommen kann die remote-Verbindung funktioniert. Ist dieses feature, kann jemand mir die details, wie Sie diese verwendet.
- Wäre gut, wenn Sie aufgeführt sind die Kombinationen, die Sie versucht haben.
- Haben Sie ein problem mit dem einrichten des Servers (zu hören auf einige TCP-port) oder der client (Verbindung zum server)?
- Siehe auch stackoverflow.com/questions/24528160/.... Es nennt
-tcpAllowOthers
Schalter für Wesen sichtbar, nicht nur beilocalhost
.
InformationsquelleAutor Carolyn | 2010-05-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man auf In-Memory-Datenbanken. Für eine Netzwerk-Verbindung benötigen Sie einen host und Datenbank-name. Es sieht aus wie Sie wollen
jdbc:h2:tcp://localhost/mem:db1
oderjdbc:h2:tcp://127.0.0.1/mem:db1
Keiner der Lösungen bisher genannten für mich gearbeitet. Remote-Teil konnte einfach nicht verbinden.
Gemäß H2 offizielle Dokumentation:
Markierte ich den entscheidenden Teil des Textes in Fett.
Fand ich eine funktionierende Lösung zu diesem Kerl blog:
Und das ist es! Arbeitete wie ein Charme!
Gerade angesichts dieses Problems fand ich, dass ich brauchte, um append
DB_CLOSE_DELAY=-1
auf die JDBC-URL für die tcp-Verbindung. Also meine URLs wurden:jdbc:h2:mem:dbname
jdbc:h2:tcp://localhost:9092/dbname;DB_CLOSE_DELAY=-1
Aus dem h2-docs:
Nicht darunter
DB_CLOSE_DELAY=-1
bedeutet, dass ich keine Verbindung zur richtigen Datenbank über TCP. Die Verbindung ist hergestellt, aber es nutzt eine andere version der erstellt eine in-memory (validiert durch die Verwendung derIFEXISTS=true
parameter)