[VB]databases synchroniseren

Pagina: 1
Acties:

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Ik heb 2 databases, 1 x MySQL op een server op kantoor en 1 x MS-Access op de laptop van monteurs. Ik schrijf een applicatie die gebruik kan maken van beide databases, echter als de app op een PC op kantoor draait, kiest hij de serverdb, werkt het op een laptop dat kiest hij voor de off-line database. Zo kan een monteur data invoeren, verwijderen etc zonder een verbinding te hebben met de serverdatabase.

Nu komt de monteur op kantoor en wil hij de databases synchroniseren, dus de off-line gegevens in de serverdb stoppen.

Hoe kan ik een dergelijk probleem het beste programmeertechnisch aanpakken, ik wil het helemaal programmeren, dus geen replicate van MS gebruiken. Wie heeft er ervaring met een dergelijke constructie en waar moet ik op letten. ?

Ik heb al gezocht maar de oplossingen kwamen uit bij replicate of een doodlopend iets. Ik ben dus serieus op zoek naar een mogelijkheid hierin.

  • Eskimootje
  • Registratie: Maart 2002
  • Nu online
Kun je geen log-file maken van alles wat er veranderd is? Dus als de monteur offline iets veranderd schrijf je het naar de access database en een aparte file welke je verwerkt in de MySQL db en andersom. Hoe wil je er trouwens voor zorgen dat de database correct blijft? Als monteur A iets veranderd en Monteur B dezelfde record verwijderd, wat dan? Je zult moeten nadenken over welke data een monteur mag veranderen.

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
ikwil dus sowieso beveiligingen aanbrengen als het gaat om toevoegen/bewerken/verwijderen van sommige gedeelten database. Daarnaast neem ik als uitgangspunt dat de serverdatabase klopt, daar werken o.a. de projectleiders ook mee (op kantoor dan), dus die klopt. Ik wil een veld wijzigingsdatum bij gaan houden die de datum van de laatste update/invoer bijhoudt.

maar i.d.d. een logfile biedt misschien wel uitkomst om e.e.a. te regelen. Heeft iemand zoiets al eens gemaakt ?