Supportnet / Forum / Datenbanken
*.mdb Datenbanken synchronisieren
Frage
Hallo Forumgemeinde,
ich habe folgendes Problem. Lassen sich 2 *.mdb Dateien mit einem Synchronisationsprogramm abgleichen (nicht einfaches copy & paste [wie per Win-Explorer *g*])? Habe schon einiges über Datenbankreplikatoren etc. gelesen, dass ist aber nicht das was ich will. Soll am besten so einfach sein wie bei Outlook abgleich über ActiveSync ;-)
Das ganze Problem im Detail (vlt. hat auch jemand eine bessere Lösung):
Ausgangssituation:
Ein Software zur Erfassung von Fahrschülern ist auf einem Rechner in der Hauptfiliale installiert, diese speichert alle Daten in einer *.mdb Datenbank.
Ziel:
Es soll auch von den anderen Filialen die Eingabe von Daten möglich sein.
Meine Überlegung ist, die *.mdb Datei auf einem Server im Internet (z.B. vServer) zu speichern. Diese wird dann per Download in der jeweiligen Filiale auf den Rechner in das entsprechende Verzeichniss kopiert (das Programm ist leider recht unflexibel, es gibt auch keine Netzwerkversion o.ä.). Es werden neue Daten eingegeben und danach synchronisiert ein Programm die "Filial"-Datei mit der auf dem Server im Internet. Dies ist nötig, da evtl. auch aus der Hauptfiliale Daten zur "selben" Zeit eingegeben wurden.
Es soll also die *.mdb auf dem Server nach einer synchronisierung immer den aktuellsten Stand haben.
Danke für eure Bemühungen
mtech
Antwort 1 von repiv
Hallo,
wenn Du die Access Replikation nicht benutzen willst, muss meiner Meinung nach ein eigenständiges Synchronisationsprogramm geschrieben werden. Ausserdem muss auf dem Server ein Webservice laufen, mit dem das Synchronisationsprogramm kommunizieren kann, um die Daten zu übermitteln.
Ein existierendes Programm hierfür ist mir nicht bekannt. Das Hauptproblem dabei ist zu erkennen welche Daten verändert wurden bzw neu sind... Ausserdem muss die eindeutige ID Vergabe sichergestellt werden. Das geht am besten über die Verwendung einer ReplikationsID.
Gruß repiv
wenn Du die Access Replikation nicht benutzen willst, muss meiner Meinung nach ein eigenständiges Synchronisationsprogramm geschrieben werden. Ausserdem muss auf dem Server ein Webservice laufen, mit dem das Synchronisationsprogramm kommunizieren kann, um die Daten zu übermitteln.
Ein existierendes Programm hierfür ist mir nicht bekannt. Das Hauptproblem dabei ist zu erkennen welche Daten verändert wurden bzw neu sind... Ausserdem muss die eindeutige ID Vergabe sichergestellt werden. Das geht am besten über die Verwendung einer ReplikationsID.
Gruß repiv
Antwort 2 von mtech
Hi repiv,
vielen Dank für deine schnelle Antwort.
Also so wie ich sehe gibt es wohl keine andere Möglichkeit. Kannst du mir erläutern wie die Replikationsgeschichte funktionieren würde?
Danke & Gruß
mtech
vielen Dank für deine schnelle Antwort.
Also so wie ich sehe gibt es wohl keine andere Möglichkeit. Kannst du mir erläutern wie die Replikationsgeschichte funktionieren würde?
Danke & Gruß
mtech
Antwort 3 von repiv
Hallo,
das mit dem eigenständigen Programm wäre sicher auch lösbar, aber wenn Du dich damit nicht auskennst nur mit professioneller Hilfe, die natürlich nicht kostenlos ist.
Benutzt habe ich die Access Replikation auch noch nicht selber. Du kannst aber über Access im Extras Menü die Hauptdatenbank in eine Replik verwandeln wodurch du 2 Versionen bekommst. Durch wiederholen dieses Schrittes kann du auch mehrere Repliken erstellen. Diese verteilst Du dann an die Filiale(n). Nach Änderungen muss die Datei dann wieder an die Hauptfiliale gesendet werden und dort die Dateien synchronisiert werden.
Am besten mal Sicherung der mdb-Datei machen und ein wenig testen. Dabei musst du aber häufig dateien hin und herschicken was je nach Größe etwas aufwendig sein kann.
das mit dem eigenständigen Programm wäre sicher auch lösbar, aber wenn Du dich damit nicht auskennst nur mit professioneller Hilfe, die natürlich nicht kostenlos ist.
Benutzt habe ich die Access Replikation auch noch nicht selber. Du kannst aber über Access im Extras Menü die Hauptdatenbank in eine Replik verwandeln wodurch du 2 Versionen bekommst. Durch wiederholen dieses Schrittes kann du auch mehrere Repliken erstellen. Diese verteilst Du dann an die Filiale(n). Nach Änderungen muss die Datei dann wieder an die Hauptfiliale gesendet werden und dort die Dateien synchronisiert werden.
Am besten mal Sicherung der mdb-Datei machen und ein wenig testen. Dabei musst du aber häufig dateien hin und herschicken was je nach Größe etwas aufwendig sein kann.
Antwort 4 von cbk
Hallo,
in Access gibt es vorgefertigte Makros für sowas.
Zuerst mußt du mit Hilfe des Makros "TransferDatenbank" die Tabellen aus den Filialen in die Dantebank des Servers laden.
Anschließend führst du eine Aktualisierungsabfrage durch. Dabei werden alle Tabellen, die zuvor hochgeladen wurden, mit der Haupttabelle abgeglichen und die Haupttabelle vervollständigt.
Sollten die Daten in den Filialen von denen der Haupttabelle abweichen (z.B. neue Anschrift eines Fahrschülers), so werden diese Änderungen in der Haupttabelle übernommen und die alten Einträge überschrieben.
Sollte das Überschreiben aus Sicherheitsgründen nicht erwünscht sein, so führe anstatt der Aktualisierungs- eine Anfügeabfrage durch.
in Access gibt es vorgefertigte Makros für sowas.
Zuerst mußt du mit Hilfe des Makros "TransferDatenbank" die Tabellen aus den Filialen in die Dantebank des Servers laden.
Anschließend führst du eine Aktualisierungsabfrage durch. Dabei werden alle Tabellen, die zuvor hochgeladen wurden, mit der Haupttabelle abgeglichen und die Haupttabelle vervollständigt.
Sollten die Daten in den Filialen von denen der Haupttabelle abweichen (z.B. neue Anschrift eines Fahrschülers), so werden diese Änderungen in der Haupttabelle übernommen und die alten Einträge überschrieben.
Sollte das Überschreiben aus Sicherheitsgründen nicht erwünscht sein, so führe anstatt der Aktualisierungs- eine Anfügeabfrage durch.
Antwort 5 von mtech
Danke cbk,
habe deinen Vorschlag zuerst einmal mit einer kleinen TestDB ausprobiert. Hat mit ein wenig Bastelarbeit funktioniert. Jetzt muss ich das ganze nur noch mit der DB der Fahrschule testen. Hoffe es funktioniert reibungslos.
Werde das Ergebniss auf jeden Fall die nächsten Tage posten und evtl euch mit meinen Problemen überschütten.
Grüße
mtech
habe deinen Vorschlag zuerst einmal mit einer kleinen TestDB ausprobiert. Hat mit ein wenig Bastelarbeit funktioniert. Jetzt muss ich das ganze nur noch mit der DB der Fahrschule testen. Hoffe es funktioniert reibungslos.
Werde das Ergebniss auf jeden Fall die nächsten Tage posten und evtl euch mit meinen Problemen überschütten.
Grüße
mtech

