Hallo,
wie kann ich eine DB mit bestehenden Dateninhalten ohne Datenverlust auf einem PC aktualisieren, wenn die Neuerungen auf einem anderen PC erzeugt wurden (DB-Name identisch) ?
Gruss OEACC
Hallo,
na, bei dir gehts ja ordentlich rund! :D :D ;)
Wenn du eine ordentlich funktionierende Mehrbenutzerumgebung haben willst wirst du nicht umhinkommen dich mit der Datenbankaufteilung zu beschäftigen.
Hierbei wird die Datenbank in Frontend und Backend aufgeteilt - das Backend liegt auf einem Serverlaufwerk, einer Freigabe, die von allen erreicht werden kann
und alle Schreib- und Leserecht haben und enthält ausser den Tabellen NICHTS.
Die Frontends enthalten alle Formulare, Abfragen, Berichte ... und KEINE Tabelle.
Alle Benutzer arbeiten mit einer LOKALEN KOPIE des Frontends und lesen uns schreiben in ein und die selbe Datei!
Werden Änderungen an Formularen etc fällig, kann man diese an einem Frontend vornehmen und nach Testen des Ergebnisses allen Benutezern zur Verfügung stellen.
Die Unterbrechung der Verfügbarkeit der Datenbank ist so auf einige Minuten begrenzt.
zu deinem Problem direkt:
Ist keine einfache Sache, wenn Änderungen an den Daten in Beiden Dateien stattgefunden haben!
Ansonsten kann man per Import- bzw Exportspezifikationen die Tabellen in die Zieldatenbank bugsieren.
Die Beziehungen müssen danach erneuert / aktualisiert werden!
Zu überlegen ist hierbei auch ob die Alten Tabellen zuvor oder danach gelöscht werden.
Eine Andere Möglichkeit wäre die Replikation - befinden sich die Dateien aber in einem Netzwerk wobei sich alle Rechner
im gleichen Subnet befinden rate ich DRINGEND zur Client-Server - Lösung mit Front- und Backend!
HTH
Peter
Grüße
Peter
Hallo,
sorry, habe mich missverständlich ausgedrückt.
Ich meinte, wenn die DB in Echtbetrieb gegangen ist auf einem PC X,
und auf PC Y werden weitere Features entwickelt. Diese müssten dann auf dem PC X implementiert werden.
Die DB auf PC X ist keine Mehrbenutzer DB, sondern Single User.
Gruss Erich
und welche Features würden das sein?
Wenn sich an den Tabellendefinitionen nichts geändert hat, KÖNNTE man theoretisch z.B. Formulare die geändert wurden in die Zieldatei exportieren (die Tabellenriginal zuvor umbenennen um es nicht zu verlieren wenns kracht) - SICHERUINGSKOPIE der Zieldatei sowieso verpflichtend anlegen!
Was willst du denn konkret aktualisieren?
weitere Abfragen oder Berichte und ggf. Änderung bestehender Abfragen/Berichte, die dann auf dem Ziel PC intgeriert werden
Im Fall von neuen Sachen ist es absolut kein Problem die Datenbankobjekte von Y nach X zu exportieren oder in X stehen aus Y importieren.
Beide Dateien sollten sich dazu am Besten und der Einfachheit wegen auf einem Rechner befinden.
Dann über Menüpunkt 'Datei' ... 'Externe Daten' ... 'Importieren'
oder Wenn du in der aktuelleren Datei stehst
Menüpunkt 'Datei' ... 'Exportieren'
die gewünschten Objekte entsprechend der Assistentenschritte behandeln (Importieren oder Exportieren)
Die entsprechenden Objekte werden dann in dier Zieldatenbank erscheinen.
Wenn es sich um Objekte handelt, die zu aktualisieren sind empfiehlt es sich die Originale zuerst mit dem Präfix '_old' zu versehen um sie nicht zu verlieren.
Also z.B. 'frmStartformular_old'
Wenn die Datenbestände in BEIDEN Datenbanken absolut gleich sind KANN theoretisch auch einfasch eine Kopie der aktuelleren Datenbank auf den Zielrechner transferiert werden. Alte atei vorher auf 'xyz_old.mdb' umbenennen.
Nichts desto trotz würde sich auch in dem Fall die Verwendung von Frontend und Backend auszahlen - dann müsste ohne große Aktionen nur das Frontend ausgetauscht werden.
Alles in der Annahme, dass du Access 2003 verwendest, Access 2007 oder 2010 haben die gleichen Möglichkeiten/Funktionen, sie befinden sich nur an anderen Stellen.
HTH
Peter
danke - Du bist wohl ein Super Crack .... ;)
Gruss Erich
Aber bitte, kein Ursache - man tut was man kann ... ;D ;)