Toon posts:

Online en Offline databases koppelen (access + webserver)

Pagina: 1
Acties:
  • 107 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een database gestuurd systeem met een online en een offline versie. Een van de versies is in Acces en de andere is een webinterface met een database in een mysql server. Nu moeten die twee aan elkaar gekoppeld worden zodat de gegevens kunnen worden gesynchroniseerd. Hoe doe ik dat?.

Alvast bedankt...

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Wat wil je precies?
Moet de online naar de offline?
Of andersom?
Staat de webserver op je eigen pc?

Iets meer info graag :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
De webserver online op een webhost
De Acces versie staat op mn eigen PC

En de synchronisatie moet online naar offline gebeuren

Er komen gegevens in de online database via een PHP gestuurde website. Daarom moeten de gegevens vanuit de online naar de offline versie worden gekopieerd

  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Verwijderd schreef op donderdag 11 mei 2006 @ 09:43:
De webserver online op een webhost
De Acces versie staat op mn eigen PC

En de synchronisatie moet online naar offline gebeuren

Er komen gegevens in de online database via een PHP gestuurde website. Daarom moeten de gegevens vanuit de online naar de offline versie worden gekopieerd
Het makkelijkst zou zijn om de database te dumpen denk ik. :)
Ik neem aan dat je PHPmyAdmin gebruikt?
Ga dan naar je database en klik op exporteer, dan kan je een dumpfile aanmaken en die moet je weer kunnen laden in access. :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
Is dat de makkelijkste manier van synchroniseren? het moet wel werken in zo weinig mogelijk handelingen

[ Voor 29% gewijzigd door Verwijderd op 11-05-2006 09:54 ]


  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
Verwijderd schreef op donderdag 11 mei 2006 @ 09:45:
Is dat de makkelijkste manier van synchroniseren? het moet wel werken in zo weinig mogelijk handelingen
Nou dat zou neerkomen op het opslaan van een bestand.
En dan met access dat bestand weer opnenen, daar wordt je niet echt moe van. ;)

Als je webhost een externe verbinding met de database toestaat kan je ook access direct aan je host koppelen en zo synchroniseren.
Maar helaas laten de meeste webhosts dat niet toe :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
OK.. Maar ik weet wel hoe dat werkt. Alleen niet iedereen die dit sysyeem moet gaan gebruiken weet hoe dat werkt

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07-2025
Kan je niet iets van een script maken dat elke keer om 0:00 de database dumpt in een mapje met een mooie timestamp erop? En die kan je dan wel inladen in Access. Gaat het automatisch en is het goed up-to-date.

Engineering is like Tetris. Succes disappears and errors accumulate.


  • Gonadan
  • Registratie: Februari 2004
  • Nu online

Gonadan

Admin Beeld & Geluid, Harde Waren
armageddon_2k1 schreef op donderdag 11 mei 2006 @ 10:05:
Kan je niet iets van een script maken dat elke keer om 0:00 de database dumpt in een mapje met een mooie timestamp erop? En die kan je dan wel inladen in Access. Gaat het automatisch en is het goed up-to-date.
Het probleem is dat je dan de dumps op je webhost krijgt te staan :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • jan-marten
  • Registratie: September 2000
  • Laatst online: 16:23
Kijk eens naar MyODBC. Kun je wel vinden op MySQL.com. Daarmee kun je vanuit Access verbinding maken met een MySQL database. Let er wel op dat de hostingprovider die toestaat.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Kan je niet gewoon je offline database linken met de online versie? (Access: Get External Data -> Link). En dan (via ODBC eventueel) de koppeling leggen?

Verwijderd

Als je webhost verbindingen van buitenaf toestaat, kan je de online DB toevoegen aan je Access DB door middel van ODBC. Op die manier heb je de volledige beschikking over je online DB. Als de compu's die de Access DB draaien in verbinding staan met internet kan je natuurlijk ook gewoon een Access front-end draaien op de MySQL DB en vervalt de hele noodzaak van het synchroniseren.

Een niet erg effieciente manier om te synchroniseren, (er vanuit gaande dat het 1 kant op is) is de lokale tabellen te legen & vervolgens weer te vullen met je online gegevens.

Een nettere oplossing is vlaggen toe te voegen aan je online DB (Boolean: Nieuw en Gewijzigd). Vervolgens kan je daarop selecteren en doormiddel van 2 queries de nieuwe toevoegen en de andere bijwerken. Wel moet je uitkijken met de ID's die gebruikt worden in verband met verwijzingen.


Indien je geen verbinding van buitenaf kan maken zou ik een scriptje schrijven die de nieuwe en gewijzigde records dumpt. Aan deze dump voeg je dan een timestamp toe. Vervolgens moet je in Access (dmv VBA) code moeten schrijven die kijkt of er een nieuwere dump op de server staat, die dump binnenhalen & de gegevens in de DB zetten.

[ Voor 32% gewijzigd door Verwijderd op 11-05-2006 10:30 ]


Verwijderd

Topicstarter
Goeie ideen allemaal. ik ga maar inderdaad eens kijken of ik die offline database automatisch kan laten opvullen met de gegevens uit de online versie

Bedankt voor de tips allemaal.. _/-\o_

  • Thekk
  • Registratie: Augustus 2002
  • Laatst online: 18-02 00:23
Verwijderd schreef op donderdag 11 mei 2006 @ 10:23:
Een niet erg effieciente manier om te synchroniseren, (er vanuit gaande dat het 1 kant op is) is de lokale tabellen te legen & vervolgens weer te vullen met je online gegevens.

Een nettere oplossing is vlaggen toe te voegen aan je online DB (Boolean: Nieuw en Gewijzigd). Vervolgens kan je daarop selecteren en doormiddel van 2 queries de nieuwe toevoegen en de andere bijwerken. Wel moet je uitkijken met de ID's die gebruikt worden in verband met verwijzingen.
Als je meerdere offline databases hebt, is het wellicht beter gebruik te maken van unix timestamps in de kolommen nieuw en gewijzigd van de online database, met als standaard waarden now(). Dan is het nog makkelijker om selecties te maken:
Nieuwe records zijn degene waarbij je 'nieuw' timestamp nieuwer is dan je laatste update
Geüpdate records zijn degene waarvan de update timestamp nieuwer is dan je laatste update, maar de nieuw timestamp niet (anders ga je nieuwe records weer updaten en dat is een beetje onzinnig).

[ Voor 3% gewijzigd door Thekk op 12-05-2006 10:34 ]

Ik heb geen zin om een sig te maken.

Pagina: 1