SQLite Zwei Datenbanken synchronisieren

Morinho

Aktives Mitglied
Hallo zusammen,

ich programmiere derzeit eine Java-Applikation die Informationen einer Datenbank abruft, verändert und löscht. Hierzu verwende ich eine SQLite Datenbank bzw. zwei, denn es ist so, dass der Benutzer bei bestehenden Netzwerkzugriff die online-Datenbank auf dem Netzwerklaufwerk verwendet. Falls der Benutzer bzw. Anwender keinen Netzwerkzugriff hat verwendet er die lokale Datenbank die in der .jar-Datei hängt. Die Datenbanken sind komplett gleich aufgebaut.

Nun möchte ich es so haben das wenn der Benutzer wieder online arbeiten kann, dass die Daten der lokalen Datenbank und der online-Datenbank abgeglichen und synchronisiert werden.

Meine Fragen:
1. Wie stellt man bei SQLite eine Connection zwischen zwei Datenbanken her die Synthax aus anderen Forum aus dem Internet waren sehr unübersichtlich bzw. unverständlich.

Ich wollte hierzu erst einmal eine Abfrage erstellen um zu versuchen die richtigen Daten die anders sind zwischen den Datenbanken herauszufinden.

Mein Ansatz:

SELCECT * FROM lokalDB.Tabelle1 WHERE lokalDB.Tabelle1.Projekt NOT IN (SELECT onlineDB.Tabelle1.Projekt FROM onlineDB.Tabelle1)
 

JStein52

Top Contributor
Nun möchte ich es so haben das wenn der Benutzer wieder online arbeiten kann, dass die Daten der lokalen Datenbank und der online-Datenbank abgeglichen und synchronisiert werden.
Dieser Punkt kann ja schon ziemlich komplex werden. Benutzen z.B. mehrere Benutzer parallel die "Online" Datenbank ? Wenn es nur einer ist und nur der Ort der SQLite-Datei ist einmal lokal und einmal auf einem Netzlaufwerk dann wird es ja deutlich einfacher.
In diesem fall hast du ja sicher in deinem Programm eine Stelle wo erkannt wird dass die Onlinedatenbank wieder verfügbar ist. Die brutale Möglichkeit wäre jetzt die ganze Datenbankdatei auf das Netzlaufwerk zu kopieren.
Wenn du es etwas feiner machen willst könntest du ja alle ändernden SQL-Statements die lokal ausgeführt werden mitprotokollieren und sie dann beim zurückschalten auf das Netzlaufwerk dort ausführen.

Edit: ich kenne SQLite nicht so genau aber können da überhaupt zwei Benutzer parallel die DB benutzen ?
 

Thallius

Top Contributor
Dieser Punkt kann ja schon ziemlich komplex werden. Benutzen z.B. mehrere Benutzer parallel die "Online" Datenbank ?

In dem Fall ist es sogar unmöglich eine 100% Lösung zu finden. Man kann nur mit einem sehr aufwendigen Algorytmus eine Annäherung schaffen.

Wenn du es etwas feiner machen willst könntest du ja alle ändernden SQL-Statements die lokal ausgeführt werden mitprotokollieren und sie dann beim zurückschalten auf das Netzlaufwerk dort ausführen.

Mitprotokolieren braucht er da nichts. Es sollte halt nur jede Tabelle eine Spalte "LastUpdate" haben und dann muss er nur vergleichen welche zuletzt geändert wurde

Edit: ich kenne SQLite nicht so genau aber können da überhaupt zwei Benutzer parallel die DB benutzen ?

Es gibt da ein paar Compiles die das ermöglichen sollen aber ich bin recht skeptisch ob das wirklich bei täglichem harten Einsatz auch funktioniert.

Gruß

Claus
 

Morinho

Aktives Mitglied
Ich bedanke mich sehr für all eure Tipps und Unterstützungen.

Ich habe nun eine ideale Lösung für mein Problem gefunden.

Danke nochmals an alle :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Zwei Datenbanken miteinander auf Unterschiede vergleichen Datenbankprogrammierung 2
P Insert into mit zwei Datenbanken Datenbankprogrammierung 3
N Abfrage über zwei Datenbanken Datenbankprogrammierung 9
Ataria SQLite Werte aus zwei Tabellen zusammenführen Datenbankprogrammierung 8
Z Aus zwei bestehenden Table eine zusätzliche Gemeinsame machen (JavaFX) Datenbankprogrammierung 21
C zwei Strings vergleichen Datenbankprogrammierung 13
ralfb1105 Oracle Zwei ojdbc Driver in einer Applikation? Datenbankprogrammierung 13
W Problem mit Insert in zwei Tabellen Datenbankprogrammierung 8
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
AssELAss Oracle Wildcard-Suche über zwei Felder Datenbankprogrammierung 5
M Oracle XA Connect auf zwei Datenbankinstanzen | fertiges Tool verfügbar? Datenbankprogrammierung 0
C Entities zwischen zwei PersistenceUnits tauschen Datenbankprogrammierung 5
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
Consuelo Verbinden von zwei Tabellen, foreign key Datenbankprogrammierung 4
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
D zwei gleichzeitige Connections Datenbankprogrammierung 2
C SQL String zwei Tabellen vergleichen und gleiche Zeile löschen Datenbankprogrammierung 25
J Mit einer Abfrage Worte suchen die in Zwei Tabellen enthalten sind Datenbankprogrammierung 5
N Zwei Spalten und Ihre Werte vergleichen Datenbankprogrammierung 3
G Inhalt eine Clob Feldes zw. zwei DB's kopieren Datenbankprogrammierung 2
W Zwei Fragen über JDBC und MySQL Datenbankprogrammierung 2
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
R Datenbanken erstellen Datenbankprogrammierung 3
I Hilfe zu Multidimensionalen Datenbanken Datenbankprogrammierung 1
D Java Datenbanken Datenbankprogrammierung 1
T Lagerprogramm mit Datenbanken Datenbankprogrammierung 21
K Verschiedene Datenbanken - Was sollte ich lernen? Datenbankprogrammierung 11
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
M Hash in Bezug auf Datenbanken unklar Datenbankprogrammierung 3
M Datenbankschema in relationalen Datenbanken Datenbankprogrammierung 3
Ananaskirsche Verschlüsselung von Datenbanken Datenbankprogrammierung 1
T Datenbanken-PDF Datenbankprogrammierung 15
Y Derby/JavaDB Benutzung von eingebetteten Datenbanken Datenbankprogrammierung 4
G Datenbanken in Java Datenbankprogrammierung 9
T 2 Tabellen aus 2 Datenbanken miteinander vergleichen Datenbankprogrammierung 6
B Datenbanken schützen vor Zugriff Datenbankprogrammierung 3
M Beziehungsfrage Datenbanken Datenbankprogrammierung 5
L Große Datenbanken - Designproblem Datenbankprogrammierung 3
E Zwischen Datenbanken wechseln Datenbankprogrammierung 13
L Synchronisieren von 2 Datenbanken Datenbankprogrammierung 2
T a x b x c x....n Matrizen in Datenbanken Datenbankprogrammierung 5
P DatenBanken mit Netbeans erstellen Datenbankprogrammierung 17
K Grundfragen zu Datenbanken Datenbankprogrammierung 28
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
J Unterstützung für verschiedene Datenbanken Datenbankprogrammierung 2
T MySQL Auflistung aller Datenbanken??? Datenbankprogrammierung 9
J In viele verschiedene Datenbanken einfügen Datenbankprogrammierung 3
C MySQL Hibernate mit 2 Datenbanken Datenbankprogrammierung 12
V Hibernate mit 2 Datenbanken Datenbankprogrammierung 3
W MySQL Datenbanken auslesen Datenbankprogrammierung 3
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
R PreparedStatement mit verschiedenen Datenbanken Datenbankprogrammierung 2
brainray Bei MySQL alle Datenbanken eines Servers abfragen Datenbankprogrammierung 3
R 1 Programm, 2 Datenbanken Datenbankprogrammierung 15
S Standard für Datenbanken Datenbankprogrammierung 3
R Datenbanken, Tabellen normalisieren. Datenbankprogrammierung 1
G Datenbanken abgleichen Datenbankprogrammierung 4
G Effektive Methode zum durchsuchen von SQL-Datenbanken Datenbankprogrammierung 7
M Datenbanken synchronisieren Datenbankprogrammierung 2
P Datenbanken auswahl, anforderungen Datenbankprogrammierung 29
K Daten in Datenbanken einfügen Datenbankprogrammierung 6
G H2: Erstellen von Datenbanken verhindern Datenbankprogrammierung 2
Y Datenbanken Datenbankprogrammierung 6
M Maximale Kapazität von Datenbanken Datenbankprogrammierung 2
S Objektorientierte Datenbanken Datenbankprogrammierung 4
F Zwischen Datenbanken wählen auf SQL-Server Datenbankprogrammierung 4
G Umlaut-Problem mit Firebird Datenbanken Datenbankprogrammierung 8
I Datenbanken mit MySQL einrichten Datenbankprogrammierung 11
G Step-by-Step Anleitung für Datenbanken Datenbankprogrammierung 3
M Treiber für mysql Datenbanken Datenbankprogrammierung 2
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
H SQLite mit DefaultTableModel synchronisieren Datenbankprogrammierung 5
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6

Ähnliche Java Themen


Oben