Concept
Het gelijktijdig gebruik van Track of the day
op meerdere computers werkt probleemloos. Wie op alle computers dezelfde gegevens wil zien, kan zijn computers dienovereenkomstig configureren. Hiervoor moet men begrijpen hoe Track of the day
zijn gegevens beheert.
Voorwaarde
Belangrijk:
Om dit scenario te laten werken, is versie 4.1
van Track of the day
de minimumvereiste.
Beperkingen
Om de database automatisch met andere computers te kunnen synchroniseren, mag Track of the day niet gestart zijn, anders zijn de databasebestanden vergrendeld en kunnen ze niet automatisch met andere computers worden gesynchroniseerd. In een gedistribueerd scenario met meerdere computers kan men alleen achtereenvolgens werken, nooit tegelijkertijd.
Gebruikersprofiel
De belangrijkste voorwaarde voor de installatie is het gebruik van een gratis Microsoft-account. Gebruikersprofielen worden doorgaans aangemaakt in de map C:\Gebruikers\. Deze map is een alias voor C:\Users\, dus beide paden werken. Voor elk gebruikersprofiel wordt een aparte map aangemaakt.
- C:\Users\Elizabeth
- C:\Users\Frank
- C:\Users\John
Elk gebruikersprofiel heeft in het begin dezelfde mapstructuur. Daar vindt u mappen met de namen Documenten, Afbeeldingen, Video’s enz.
Bij de eerste installatie maakt Track of the day in het gebruikersprofiel van de aangemelde gebruiker in de map Documenten de submap "Track of the day" aan. Daar worden verdere submappen aangemaakt, zoals bijvoorbeeld Cache, Voorbeelden, Pictogrammen enz.
Met versie 4.0 is een database op basis van Microsoft SQL Server 2019 LocalDB geïntroduceerd. Na de installatie controleert Track of the day of er een SQL-Server is geïnstalleerd. Als deze niet wordt gevonden, wordt de installatie van de SQL-Server automatisch gestart. Op dat moment is er nog niets van Track of the day te zien, maar het is onzichtbaar op de achtergrond actief. Nadat de SQL-Server is geïnstalleerd, wordt gevraagd of u een nieuwe database voor Track of the day wilt aanmaken.
Database
Deze database wordt door de SQL-Server automatisch in de hoofdmap van het gebruikersprofiel opgeslagen. Er worden twee bestanden aangemaakt: de eigenlijke database en het transactielogboek. Meer informatie vindt u hier.
- C:\Users\John\TrackOfTheDay.GpxDataModel.mdf
- C:\Users\John\TrackOfTheDay.GpxDataModel_log.ldf
Gegevensopslag
De gegevensopslag van Track of the Day is hybride. Dit betekent dat de SQL Server-database alleen wordt gebruikt als een map met verwijzingen naar mogelijk duizenden bestanden. Hierdoor blijft de database zeer compact en snel. Het is echter mogelijk dat er inconsistenties ontstaan wanneer bestanden worden verwijderd waarnaar binnen de database wordt verwezen.
Meerdere computers
Als u met meerdere computers werkt en hetzelfde Microsoft-account gebruikt, ziet de gedistribueerde gegevensopslag er ongeveer zo uit als in de volgende afbeelding wordt geïllustreerd. Bij het gebruik van meerdere computers is het belangrijk om te begrijpen dat de SQL Server LocalDB is ontworpen voor gebruik op precies één computer. Parallel gebruik met meerdere aangemelde gebruikers op verschillende computers is niet voorzien.

Synchronisatie
Om vanaf meerdere computers toegang te hebben tot dezelfde database, moeten zonder uitzondering alle gegevens worden gerepliceerd. Dit geldt ook voor de SQL-database. Voor deze replicatie kan geschikte software worden gebruikt. Als alternatief kan ook het gratis systeem Microsoft OneDrive worden gebruikt. Microsoft schenkt elke gebruiker een OneDrive met 5 GB opslagruimte. Meer opslagruimte kan tegen betaling worden aangeschaft via een abonnement.
Deze afbeelding laat zien hoe de installatie eruit moet zien. OneDrive moet zo worden ingesteld dat het gebruikte gebruikersprofiel op alle computers identiek is. U moet zich dus op alle computers aanmelden met hetzelfde Microsoft-account, anders werkt het niet!

Om dit systeem te laten werken, moet de SQL Server-database naar OneDrive worden verplaatst.
Het pad moet dus worden gewijzigd van
- C:\Users\John\TrackOfTheDay.GpxDataModel.mdf
- C:\Users\John\TrackOfTheDay.GpxDataModel_log.ldf
naar
- 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
worden gewijzigd.
Dat ziet er dan bijvoorbeeld als volgt uit:

Om een SQL-database te kunnen gebruiken, is een verbinding nodig. Om deze verbinding tot stand te brengen, wordt een zogenaamde connection string gebruikt. De connection string is een lange, ingewikkelde tekenreeks die de naam en locatie van de database en allerlei andere technisch noodzakelijke informatie bevat.
Om ervoor te zorgen dat Track of the day de database op de nieuwe locatie kan vinden, moet er een connection string worden aangemaakt die afwijkt van de standaardinstelling. In de instellingen van Track of the day is hiervoor het gedeelte Database. Om te voorkomen dat u deze ingewikkelde tekenreeks zelf moet aanmaken, is er een hulpmiddel. U klikt op de knop [ … ] en navigeert naar de database die u eerder naar het gebruikersprofiel hebt verplaatst.

Als alles gelukt is, wordt dit bericht weergegeven:

De resulterende verbindingsstring ziet er ongeveer zo uit:
- 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
Na het herstarten van de applicatie wordt de verplaatste database aan de hand van de verbindingsstring gevonden en gebruikt.
Als er iets mis is gegaan, wordt een foutmelding zoals deze weergegeven.

Probleemoplossing
De oorzaken zijn divers. Neem bij twijfel contact op met onze support. Een gewijzigde verbindingsstring kan op elk moment weer worden verwijderd in de instellingen. Als u de database per ongeluk hebt vernietigd, wordt bij de volgende start gevraagd of er naar een bestaande database moet worden gezocht of dat er automatisch een nieuwe moet worden aangemaakt.
Als er fouten optreden, zijn de oorzaken altijd divers, vooral in een scenario zoals hier beschreven.
Als het automatisch aanmaken van een nieuwe database niet werkt, is de SQL-server vaak niet beschikbaar. Dit kan via een opdrachtregel worden gecontroleerd.

De commando’s luiden:
- sqllocaldb i – Zo kunt u controleren of de SQL-server beschikbaar is
- sqllocaldb s – SQL-server starten
- sqllocaldb p – SQL-server stoppen
- sqllocaldb -? – Help voor de lijst met parameters weergeven
