H2 Datenbank mehrere Verbindungen

7

Ich habe folgendes Problem: Zwei Instanzen einer Anwendung auf zwei verschiedenen Systemen sollten sich eine kleine Datenbank teilen. Das Hauptproblem besteht darin, dass beide Systeme nur Daten über einen Netzwerkordner austauschen können. Ich habe nicht die Möglichkeit irgendwo einen Datenbankserver einzurichten.

Ist es möglich, eine H2-Datenbank im Netzwerkordner zu platzieren und beide Instanzen gleichzeitig (auch gleichzeitig) mit der Datenbank verbinden zu lassen?

Ich könnte beide Instanzen mit der db verbinden, indem ich den eingebetteten Modus benutze, wenn ich die Dateisperrung deaktiviere, oder? Die Instanzen können READ- oder INSERT-Operationen für die Datenbank ausführen. Gefährde ich Datenbeschädigungen mit mehreren gleichzeitigen eingebetteten Verbindungen?

    
Dirk 13.09.2012, 08:08
quelle

2 Antworten

2

Aus der H2-Dokumentation :

  

Es ist auch möglich, die Datenbank ohne Dateisperrung zu öffnen; in diesem   Fall, es liegt an der Anwendung, die Datenbankdateien zu schützen.   Anderenfalls führt dies zu einer beschädigten Datenbank.

Ich denke, wenn Ihre Anwendung immer die gleiche Konfiguration verwendet (gemeinsame Dateidatenbank im Netzwerkordner), müssen Sie eine Anwendungsschicht erstellen, die Nebenläufigkeit verwaltet

    
vincenzo iafelice 13.09.2012, 08:23
quelle
22

Ich hatte das gleiche Problem und habe die Lösung in der Dokumentation gefunden. Es kann bei gefunden werden; Ссылка

  

Mehrere Prozesse können auf dieselbe Datenbank zugreifen, ohne den Server manuell starten zu müssen. Fügen Sie dazu AUTO_SERVER = TRUE an die Datenbank-URL an. Sie können dieselbe Datenbank-URL verwenden, unabhängig davon, ob die Datenbank bereits geöffnet ist oder nicht. Diese Funktion funktioniert nicht mit In-Memory-Datenbanken.

%Vor%     
Ahmet DAL 25.11.2014 14:27
quelle

Tags und Links