ich hatte mit MultiBaseCS3 eine lokale Datenbank angelegt und diese seinerzeit mit einer Cloud-Datenbank synchron gehalten.
Jetzt habe ich MultiBaseCS4 installiert, eine neue leere lokale Datenbank angelegt und diese mit der gleichen Cloud-DB synchronisiert.
Die meisten Daten sind wie erwartet identisch mit denen in der Cloud und mit denen der alten lokalen MBCS3-Datenbank auf dem alten PC.
In der Cloud werden alle Daten (meiner untersuchten Stichprobe) erwartungsgemäß angezeigt.
Allerdings musste ich feststellen, dass in meiner neuen lokalen Datenbank alle Dateneinträge eines bestimmten Beobachters nicht mehr diesem Beobachter zugeordnet sind!
Der Beobachtereintrag in den Stammdaten existiert weiterhin (ohne darauf verweisende Dateneinträge) mit der ursprünglichen GUID_Beobachter und wurde offenbar aus der Cloud heraus korrekt heruntersynchronisiert.
In den ursprünglich diesem Beobachter zugeordneten Dateneinträgen ist jedoch ein neuer, in den Stammdaten nicht vorhandener GUID_Beobachter-Wert eingetragen. Daher Wird beim Filter auf den (ursprünglichen) Beobachter kein Datensatz gefunden und beim Anzeigen der Datensätze dieses Beobachters kein Name angezeigt.
Die lokale Datenbank ist somit inkonsistent, obwohl sie frisch aus einer Cloud-Datenbank (die den Beobachternamen noch korrekt anzeigt, bei der ich allerdings die GUID_Beobachter nicht anzeigen kann) heruntersynchronisiert wurde!
Es ist genau ein Beobachter betroffen.
Ich habe diese Datensätze in der Listenansicht durch Sortieren der Beobachter-Spalte ausgewählt und den ursprünglichen Benutzer neu zugewiesen. Danach war meine lokale DB offenbar wieder in Ordnung, jedoch wurde meine Arbeit bei der nächsten Synchronisation mit der Cloud wieder mit den fehlerhaften Werten überschrieben (obwohl meine lokalen Datensätze ja eigentlich neuer sind als die in der Cloud).
Nun sitze ich wieder auf der inkonsistenten und fehlerhaften lokalen Datenbank und kann diesen Zustand nicht reparieren.
Offenbar manipuliert die Synchronisationsroutine die Daten.
- Wie kann ich die Daten reparieren?
- Wie kann ich eine solche Situation für die Zukunft ausschließen?
- Wieso wird die Inkonsistenz bei der regelmäßigen Basis-Datenpflege nicht gefunden?
Torsten
P.S.: Hier ein kurzes SQL-Snippet, das in ähnlicher Form vielleicht in die Basis-Datenpflege integriert werden könnte:
Code: Alles auswählen
SELECT
COUNT(tblDaten.GUID_Beobachter) AS Datensaetze
, tblDaten.GUID_Beobachter AS Unauffindbare_GUID_Beobachter
FROM tblDaten
WHERE tblDaten.GUID_Beobachter NOT IN
(SELECT GUID_Beobachter FROM tblBeobachter)
GROUP BY tblDaten.GUID_Beobachter;