Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

ACCESS Dateien synchronisieren

Frage Microsoft Microsoft Office

Mitglied: gnarff

gnarff (Level 2) - Jetzt verbinden

04.04.2009, aktualisiert 15.04.2009, 12864 Aufrufe, 6 Kommentare

Hallo Allerseits,

zwei Rechner, zwei *mdb-Dateien.

Diese sollen am Ende eines Tages synchronisiert werden, damit beide Benutzer stets ueber die gleichen Datensaetze verfuegen.
Dummerweise handelt es sich um eine VB-Applikation die auf MS ACCESS 97 basiert, auf den Rechnern arbeitet jedoch ACCESS 2003. Daher bin ich ein wenig zurueckhaltend, dies mit ACCESS Bordmitteln zu loesen; dies ist uebrigends auch der Grund fuer diesen Thread - Sync Threads gibt es ja eigentlich schon genug auf administrator.de
Hat jemand einen Vorschlag, wie das zu loesen waere??
Toolvorschlaege ebenfalls willkommen...

Allerdings kommt mir grad in den Sinn, wenn nun beide Benutzer jeweils einen Datensatz mit der gleichen Nummer anlegen, aber unterschiedlichen Inhalt hat, dann duerfte ich ja mit der SYNC-Idee nicht allzuweit kommen.

saludos
gnarff
Mitglied: 60730
04.04.2009 um 20:24 Uhr
Servus,

per Tool - wüßte ich echt nicht - wie das "gut" geht.

Am einfachsten - ungetestet - würde ich folgenden Ansatz mal durchspielen.

01.
if exist x:\ net use x: /delete 
02.
if exist x:\ subst x: /delete 
03.
ping Rechnerx && net use x: \\rechnerx\dbpfad 
04.
if not exist x:\ subst x: lokalerrechner\dbpfad 
05.
 
06.
x:\meine.mdb 
07.
:end
Ich denke, das ist dann selbsterklärend und braucht keine Rems
Das einzigste, was noch fehlt, ist dann der Abgleich der beiden DBs untereinander.
Am einfachsten per At Befehl beide Systeme nachts gleichzeitig starten und die neuere DB auf den anderen kopieren und Shutdown.

Gruß
Bitte warten ..
Mitglied: SarekHL
04.04.2009 um 21:07 Uhr
Das einzigste, was noch fehlt, ist dann der Abgleich der beiden DBs untereinander.
Am einfachsten per At Befehl beide Systeme nachts gleichzeitig starten und die neuere DB auf den anderen kopieren und Shutdown.

Ist das ein Witz??

Ich starte Datenbank A um 8 Uhr, arbeite den ganzen Tag darin, und schließe sie um 18 Uhr. Ich starte Datenbank B um 19 Uhr, ändere kurz eine Telephonnummer und schließe sie gleich wieder. Wenn ich jetzt die neuere Datenbank (nämlich B) nachts zur neuen Grundlage auf beiden Rechnern mache, ist alles, was ich den ganzen Tag über in A gearbeitet habe, futsch.

Aber wozu überhaupt etwas abgleichen, wenn ohnehin beide über das Netzwerk in der gleichen Datenbank arbeiten. Denn das schlägst Du mit Deinem VB-Code doch vor, oder habe ich da was falsch verstanden?
Bitte warten ..
Mitglied: Biber
04.04.2009 um 21:50 Uhr
Moin gnarff,

ich schließe ja selten die Möglichkeit einer Lösung aus, aber in diesem Falle, unter den genannten (bzw. vermuteten) Rahmenbedinungen...
  • Zwei lokal/absolut asynchron über eine bonbonbunte Klicki-Bunti-Oberfläche gepflegte Datenbestände, an denen jeden Tag neue Datensätze hinzukommen
  • aber wo beide BearbeiterInnen alle Datensätze sehen und ändern dürfen/sollen
  • bei der ihr die Appz/die GUI nicht anpassen könnt
  • und wo auch das Tabellendesign (insbesondere Primary Keys) tabu ist

--- wo ihr also letzten Endes eine Replikation zaubern wollt (oder meinetwegen Synchronisation) OHNE die ersten Schritte machen zu können, nämlich
  • die Änderung einer der MDBs auf eine Master-Rep-DB
  • und OHNE die Trennung von Appz und Daten in mehrere MDBs
  • und OHNE die Erweiterung des Datenmodells um ein paar GUIDs und MandantenIDs und Timestamps....

... hey, wenn ihr diese Aufgabe in Eigenentwicklung zusammenklöppeln wollt, dann ist bei Fertigstellung ein neues ACCESS 97 auf dem Markt.
... obwohl, falls M$ bei den vierstelligen Versionsnummern bleibt, dann heißt es anders.

--> Abgesehen davon noch der Einwand: Alles, was in Richtung "Replikation" geht, setzt eigentlich eine direkte Rechnerverbindung voraus (Lan, Internet, whatever..).
Wenn diese da ist, warum dann nicht EINE Server-Nur-Daten-MDB und zwei lokale Client-Front-End-Nur-GUI-MDBs?

--> Falls es überhaupt ein Tool gibt, dass Dir weiterhelfen könnte, dann müsste es auf dieser Seite geben
  • Trigeminal - Tools . Und denk jetzt nicht, es ginge auf dieser Seite um Probleme mit Gesichtsnerven. Da wohnt einer der deutschen Access bzw JET-Engine Päpste Micha Kaplan
  • eine Seite mit vielen Links zu Access-Repllikation ist auf jeden Fall schwerinsoft
  • Grundlagen speziell für ACCESS97-Replikation vom sympathischen PraktikantInnen-Beschäftiger FAQ-97-Repl
--> dennoch: das höchste der Gefühle, was ich bei der unterstellten Konstellation für machbar halte, ist ein Synchronisieren der beiden MDBs über Daten-Export und selbst implementiertem Datenabgleich in eine DRITTE (reine Daten-)MDB und anschliessendem Re-Import des neuen Datenbestandes in die beiden Front-End-MDBs.

--> und auch das ist eher indiskutabel, wenn die Clients nicht mal jeweils zwei in GUI und Daten getrennte Mdbs haben.

---> wenn alles unzumutbar ist und ihr eine mandantenfähige Client/Server-Appz braucht, dann steigt auf eine um. Sorry. Manche Sachen lassen sich nicht glaubwürdig nachstellen.
Oder kam Deiner Erinnerung nach in den Geschichten von "Robinson Cruesoe" oder "Kevin allein zu Haus" irgendwo ein flotter Dreier vor? Und wenn--> hey, es sind nur ausgedachte Geschichten..

Grüße und saludos
Biber
Bitte warten ..
Mitglied: NetWolf
04.04.2009 um 23:49 Uhr
Hallo gnarff,

ich sehe da keinen Grund zurückhaltend zu sein. Man sollte immer vorher eine Datensicherung machen. Dann bist du auf der sicheren Seite und hast keine Probleme, wenn mal was schief geht.

Grundsätzlich ist dir klar, dass du ggf. damit das komplette Programm himmelst? Je nach Art der Programmierung und Definition der Indexe/Schlüsselfelder kann es zu Inkonsistenzen kommen.

Da es sich anscheinend um eine Front- Backend -Lösung handelt, würde ich das Backend auf einen Server legen und von beiden Clients darauf zugreifen. Das ist auf jeden Fall besser, als eine Synchronisation.

btw sind mir in den letzen 10 Jahren keine Tools untergekommen die sowas für dich erledigen könnten!


Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Bitte warten ..
Mitglied: 60730
05.04.2009 um 13:43 Uhr
Zitat von SarekHL:
Ist das ein Witz??

Servus, nein das ist der Punkt "ungetestet"


Ich starte Datenbank A um 8 Uhr, arbeite den ganzen Tag darin, und
schließe sie um 18 Uhr. Ich starte Datenbank B um 19 Uhr,
ändere kurz eine Telephonnummer und schließe sie gleich
wieder. Wenn ich jetzt die neuere Datenbank (nämlich B) nachts
zur neuen Grundlage auf beiden Rechnern mache, ist alles, was ich den
ganzen Tag über in A gearbeitet habe, futsch.

Wenn ich dein Vorhaben richtig verstanden habe - es gibt nur 2 Systeme?

Aber wozu überhaupt etwas abgleichen, wenn ohnehin beide
über das Netzwerk in der gleichen Datenbank arbeiten.

Weil evtl. nicht sichergestellt ist, das RechnerX immer der erste ist, der an ist

Denn das schlägst Du mit Deinem VB-Code doch vor, oder habe ich da was
falsch verstanden?
Yupp - ist kein vbs - sondern bätch und auch nur ein Teil - der andere (für den anderen Rechner müßte ja auf RechnerY gemünzt werden)

Ergo - entweder 3. Rechner (Server) -oder WOL fähige Systeme vorausgesetzt...

Wenn RechnerX nicht an ist und von RechnerY auf die DB zugegriffen werden soll, dann WOL an RechnerX senden - warten bis er da ist und dann dort die DB starten.


Immer noch besser, als den Kram zu teilen - und die Tabellen in eine gespiegelte MYsql zu überführen - da bist du mit einem kleinen gebrauchten 3. Rechner preiswerter unterwegs.

Gruß
Bitte warten ..
Mitglied: gnarff
05.04.2009 um 19:48 Uhr
Die Ueberschrift ACCESS Dateien synchronisieren laesst den augenweitenden Rueckschluss zu, dass hier jemand versucht alles so zu machen wie es nicht zu sein hat, naemlich eine Arbeitsumgebung zu schaffen, wo die DB-Benutzer ueber simples Filesharing auf die Applikation zugreifen was der Garant fuer zukuenftige Probleme ist.

Eine DB hat in Frontend und Backend gesplittet zu werden, das haette ich auch mit groesstem Vergnuegen gemacht, wenn die VB-Applikation sich nicht ACCESS '97 sondern ACCESS 2003 bedient haette.
97 kann nicht mit 2003 und vizeversa, man muss also konvertieren. Das Konvertieren haette aber die Gefahr mitsich gebracht, dass die Appliaktion nicht mehr ordnungsgemaess gelaufen waere; wie Netwolf das schon richtig angemerkt hatte.

Es hagelte schon bei normaler Benutzung bestaendig VB-Laufzeitfehlermeldungen (53) und Can't Show Non-Modal Form where modal Form is expected (401) weil imho der timer loop frunzig programmiert wurde.

Wie auch immer, ich habe das Problem wie folgt geloest:
- Jeder Rechner hat die komplette Applikation installiert bekommen.

- Auf Rechner 1 laeuft sie auf C:
- Ordner auf C: im Netz freigegeben
- Da Rechner 1 sich bestaendig weigerte mit normalen calls auf sich zugreifen zu lassen und in der Netzwerkumgebung von Rechner 2 angezeigt zu werden, habe ich die Verbindung einfach erzwungen und die Dateneingabe von Rechner 2 auf Rechner 1 umgeleitet; mit \\ip_Rechner 1\pfad_zum_mdb_bak-file

Das ist nicht sonderlich performant, der Refresh dauert ewig, aber es funktioniert...

Der Rechner 1 mus z.Zt. noch immer eingeschaltet und die Datenbank geladen sein, damit auf Rechner 2 gearbeitet werden kann.
Ich glaube mich aber vage daran zu erinnern, dass man die Formulardaten in einem Cache zwischenspeichern kann und man es so einrichten koennte, dass diese uebernommen werden sobald die DB auf Rechner 1 wieder online ist - daran arbeite ich gerade.

Was die Robinson Crusoe und den flotten Dreier anbetrifft, so kann ich mir vorstellen, dass da die eine oder andere unschuldige Ziege dafuer herhalten musste...bei Kevin bin ich mir allerdings sicher, sonst haette der Film ja "Kevin und Freitag und eine Ziege allein zu Haus" geheissen...

Saludos
gnarff
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
SAN, NAS, DAS
gelöst Dateien von einem Synology-NAS auf ein Fritz-NAS synchronisieren (3)

Frage von KMP1988 zum Thema SAN, NAS, DAS ...

Microsoft Office
gelöst DOT Dateien die über Access geöffnet werden lasssen sich nicht als DOC abspeichern (4)

Frage von bluepython zum Thema Microsoft Office ...

Batch & Shell
gelöst Dateien mit vorgegebener Größe erstellbar? (3)

Frage von Stefan007 zum Thema Batch & Shell ...

Datenbanken
Access Checkbox mit Kombifeld und dann filtern

Frage von atomas42 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...