Konzept
Die parallele Nutzung vonTrack of the day auf mehreren Computern funktioniert problemlos. Wer auf allen Computern die gleichen Daten sehen möchte, kann seine Computer entsprechend konfigurieren. Dazu muss man verstehen, wie Track of the day seine Daten verwaltet.
Vorausetzung
Wichtig: Damit dieses Szenario funktioniert ist Version 4.1 von Track of the day die Mindestanforderung.
Einschränkungen
Damit die Datenbank automatisch mit anderen Computer synchronisiert werden kann, darf Track of the day nicht gestartet sein, andernfalls sind die Datenbankdateien gesperrt und können nicht automatisch mit anderen Computern abgeglichen werden. Man kann in einem verteilten Szenario mit mehreren Computern nur nacheinander, niemals gleichzeitg arbeiten.
Benutzerprofil
Die zentrale Voraussetzung für die Installation ist die Nutzung eines kostenlosen Microsoft Accounts. Benutzerprofile werden typisch im Ordner C:\Benutzer\ angelegt. Dieser Ordner ist ein Alias für C:\Users\, es funktionieren daher beide Pfade. Für jedes Benutzerprofil wird jeweil ein Verzeichnis angelegt.
- C:\Users\Elizabeth
- C:\Users\Frank
- C:\Users\John
Jedes Benutzerprofil hat anfangs die gleiche Verzeichnisstruktur. Dort findet man Ordner mit den Namen Dokumente, Bilder, Videos usw.
Bei der ersten Installation legt Track of the day im Benutzerprofil das angemeldeten Benutzers im Ordner Dokumente den Unterordner „Track of the day“ an. Dort werden weitere Unterordner angelegt, wie bspw. Cache, Examples, Icons usw.
Mit Version 4.0 wurde eine Datenbank auf der Basis des Microsoft SQL-Server 2019 LocalDB eingeführt. Nach der Installation prüft Track of the day, ob ein SQL-Server installiert ist. Wird dieser nicht gefunden, wird die Installation des SQL-Servers automatisch gestartet. Zu diesem Zeitpunkt sieht man von Track of the day noch nichts, es ist aber im unsichtbar im Hintergrund aktiv. Nachdem der SQL-Server installiert ist, wird gefragt, ob man eine neue Datenbank für Track of the day anlegen möchte.
Datenbank
Diese Datenbank wird vom SQL-Server automatisch in der Wurzel des Benutzerprofils abgelegt. Es werden zwei Dateien erzeugt, die eigentliche Datenbank und das Transaktionsprotokoll. Weiterfürhende Informationen findet man hier.
- C:\Users\John\TrackOfTheDay.GpxDataModel.mdf
- C:\Users\John\TrackOfTheDay.GpxDataModel_log.ldf
Datenhaltung
Die Datenhaltung von Track of the day erfolgt hybrid. Das bedeutet, dass die SQL-Server Datenbank nur als Verzeichnis mit Referenzen zu ggfs. tausenden Dateien genutzt wird. Dadurch bleibt die Datenbank sehr kompakt und schnell. Es ist aber möglich, dass Inkonsistenzen entstehen, wenn Dateien gelöscht werden, die innerhalb der Datenbank referenziert werden.
Mehrere Computer
Arbeitet man mit mehreren Computern und verwendet über das gleiche Microsoft Konto, sieht die verteilte Datenhaltung etwa so aus wie es die folgende Grafik illustriert. Beim der Nutzung mehrerer Computer ist es wichtig zu verstehen, dass der SQL-Server LocalDB für die Nutzung auf genau einem Computer konzipiert ist. Eine parallele Nutzung mit mehreren angemeldeten Nutzern, auf unterschiedlichen Computern ist nicht vorgesehen.
Synchronisation
Um von mehreren Computern auf die gleiche Datenbasis zufreifen zu können, müssen ausnahmslos alle Daten repliziert werden. Dazu gehört auch die SQL Datenbank. Für diese Replikation kann eine entsprechende Software eingesetzt werden. Alternativ kann auch das kostenlose system Microsoft OneDrive genutzt werden. Microsoft schenkt jedem Benutzer ein OneDrive mit 5GB Speicherplatz. Mehr Speicherplatz kann man über ein Abo kostenpflichtig erwerben.
Diese Grafik zeigt, wie die Installation ausehen muss. Das OneDrive muss so eingerichtet werden, dass das verwendete Benuzerprofil auf allen Computern identisch ist. Man muss sich also auf allen Computern mit dem geichen Microsoft Konto anmelden, sonst klappt es nicht!
Damit dieses System funktioniert, muss die SQL-Server Datenbank in das OneDrive verschoben werden.
Der Pfad muss also von
- C:\Users\John\TrackOfTheDay.GpxDataModel.mdf
- C:\Users\John\TrackOfTheDay.GpxDataModel_log.ldf
nach
- C:\Users\John\Documents\Track of the day\Database\TrackOfTheDay.GpxDataModel.mdf
- C:\Users\John\Documents\Track of the day\Database\TrackOfTheDay.GpxDataModel_log.ldf
geändert werden.
Das sieht dann beispielsweise so aus:
Um eine SQL-Datenbank nutzen zu können, braucht eine Connection. Um diese Verbindung herstellen zu können, wird eine sogenannter Connection String verwendet. Der Connection String ist eine lange komplizierte Zeichenkette, die den Namen und Ort der Datenbank und allerlei weitere technisch notwendige Informationen enthält.
Damit Track of the day die Datenbank an der neuen Stelle findet, muss ein Connection String erstellt werden, der von der Voreinstellung abweicht. In den Einstellungen von Track of the day gibt es dazu den Abschnitt Datenbank. Damit man diese komplizierte Zeichenkette nicht selbst erstellen muss, gibt es eine Hilfe. Man klickt auf die Schaltfläche [ … ] und navigiert zur Datenbank, die man zuvor in das Benutzerprofil verschoben hat.
Hat alles soweit geklappt, wird diese Meldung angezeigt:
Der resultierende Connection String sieht etwa so aus:
- data source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=’C:\Users\ansch\Documents\Track of the day\Database\TrackOfTheDay.GpxDataModel.mdf‘;initial catalog=TrackOfTheDay.GpxDataModel;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework
Nach dem Neustart der Anwendung wird die verschobene Datenbank anhand des Connection Strings gefunden und verwendet.
Ist irgendetwas schief gelaufen, wird eine Fehlermeldung wie diese hier angezeigt.
Fehlerbehebung
Die Ursachen sind vielfältig. Im Zweifel verbinden Sie sich bitte mit unserem Support. Ein geänderter Connection String kann in den Einstellungen jederzeit wieder gelöscht werden. Hat man sich versehentlich die Datenbank zerstört, wird beim nächsten Start gefragt, ob eine bestehende Datenbank gesucht oder automatisch neu angelegt werden soll.
Wenn Fehler auftreten, sind die Ursachen immer vielfältig, besonders bei einem Szenation wie dem hier beschriebenen.
Funktioniert das automatische Anlegen einer neuen Datenbank nicht, so ist oft der SQL-Server nicht verfügbar. Über eine Kommanozeile kann man dies prüfen.
Die Kommandos lauten:
- sqllocaldb i – So kann man prüfen, ob der SQL-Server verfügbar ist
- sqllocaldb s – SQL-Server starten
- sqllocaldb p – SQL-Server stoppen
- sqllocaldb -? – Hilfe zur Liste der Parameter anzeigen