Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Konflikte in Mehrbenutzerumgebungen

Begonnen von Arndt, Mai 09, 2016, 10:14:28

⏪ vorheriges - nächstes ⏩

Arndt

Hallo Leute, eine Einsteigerfrage:

Ich habe mit einer gewöhnlichen DB, die von etwa 3-4 Benutzern benutzt werden soll, einen Praxistest gemacht. Alle haben die DB geöffnet und editiert. Es zeigte sich, dass immer derjenige, der zuletzt editiert hat, die Werte der anderen überschrieben hat. Es kam aber nicht zu Fehlermeldungen. Genau das möchte ich.

Frage:
Kann es im Verlauf zu anderen Konflikten kommen, die ich derzeit nicht vorhersehe? Die etwa eine Teilung in zwei Datenbanken Frontend/Backend) notwendig macht?

MzKlMu

Hallo,
in einer Mehrbenutzerumgebung ist die Aufteilung in Backend/Frontend unerlässlich.
Dabei erhält aber jeder User sein eigenes Frontend, nur das Backend ist zentral auf dem Server.
Und wenn Du vertrauliche Daten hast, ist Access als Backend ungeeignet.

Siehe hierzu:
http://www.sql-insider.de/knowhow/hintergruende-zur-arbeitsweise-von-access.php
Gruß Klaus

Arndt

Auch wenn es nicht erheblich ist, welcher User den Eintrag macht?

Es sollen lediglich n Instanzen der Formulare gleichzeitig laufen und sich auch überschreiben dürfen...

DF6GL

Hallo,

wie stellst Du Dir das denn vor?

Nur EIN User kann einen DS zu einem bestimmten Zeitpunkt editieren,  alle anderen sind währenddessen "ausgesperrt".

Um chaotische Daten zu vermeiden, wird nur einem User der Zugriff gewährt.


ZitatEs sollen lediglich n Instanzen der Formulare gleichzeitig laufen

Das ist möglich mit der angesprochenen Aufteilung in FE und BE.

Zitatund sich auch überschreiben dürfen...

nur nacheinander, (und das wäre nicht "überschreiben") , und nicht gleichzeitig am selben Datensatz.

Arndt

Ich habe mit einer Kollegin ausprobiert, gleichzeitig die selbe DB zu öffnen. Es funktionierte. Wenn sie bei sich eine Änderung vornahm, wurde diese automatisch bei mir angezeigt und ich konnte sie zurück ändern, was bei ihr das Selbe bewirkte.

Bei der von mir angedachten Anwendung kommt dieser Fall aber nicht vor. Vielmehr kann es sein, dass A einen Datensatz bearbeitet und B einen anderen. Ist dabei mit Konflikten zu rechen?

HB9876

Hallo,
aber das ist doch was keinen (wirklichen) Sinn ergibt.
Das ist ein wirres ueberschreiben aendern von Daten, und keine (zumindest fuer micht) Art Datenbanken zu nutzen.

Du solltest die Datenbank in FE und BE teilen und somit gleich solche Problematiken ausschliessen.

Kannst du mir erlauetern wo der Sinn sein sollte das zwei Personen gleichzeitig daten an einem Vorfall abaendern.

Gruss
Jens
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

MzKlMu

Hallo,
hast Du den Link gelesen in #1 ?
Den solltest Du nicht unbeachtet lassen.

Und meine anderen Hinweise ?
Jeder User sein eigenes Frontend und Access bietet keine Sicherheit für vertrauliche Daten. Wer Access zu Auswertungen öffnet hat Zugriff auf alle Tabellen auch die der externen Datenbank.
Gruß Klaus

HB9876

ZitatAuch wenn es nicht erheblich ist, welcher User den Eintrag macht?
Das ist doch ein ganz anderes Thema, auch wenn du nicht wissen moechtest wer was geaendert hat sollten nicht Personen gleichzeitig an Datensaetzen arbeiten.

Hinsichtlich vertauenswuerdiger Daten lies dir unbedingt den link durch, falls noetig unbedingt andere Datenbank nutzen, wie schon erwaehnt wurde
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!

Arndt

Zitat von: HB9876 am Mai 09, 2016, 19:04:53
Kannst du mir erlauetern wo der Sinn sein sollte das zwei Personen gleichzeitig daten an einem Vorfall abaendern.

Das werden sie nicht tun. Es kommt mir nur darauf an zu wissen, falls wenn sowas mal passieren sollte, es keine unvorhergesehenen Konflikte gibt.

Das Problem ist, dass ich mit einer Trennung von BE/FE erheblich mehr Programmieraufwand hätte und ich kenne mich mit Access ja nicht so aus.

* MzKlMu hat mir dann gesagt, dass man mit BE/FE keinen großen Zugewinn an Datenschutz hat, was mich ermutigte, darauf zu verzichten.
* Dann hat er mir aber einen link geschickt, in dem das als zwingend erforderlich in Mehrnutzerumgebungen beschrieben wird.

Was soll ich tun?

Arndt

Zitat von: MzKlMu am Mai 09, 2016, 19:05:07
Hallo, hast Du den Link gelesen in #1 ? Den solltest Du nicht unbeachtet lassen.

Ja, ich hatte alles gelesen und bin momentan am Überlegen.

Vielen Dank für Deine Hinweise.

MzKlMu

Hallo,
Datenschutz und Datensicherheit sind 2 paar Stiefel.
Ich habe gesagt, es macht keinen Sinn aus Datenschutzgründen auf Backend/Frontend umzusteigen. Das ist aber unabhängig von eine stabilen Betriebsweise in einer Mehrbenutzerumgebung. Und da geht es vorrangig um Datenverlust. Und da kommst Du um eine Trennung der DB nicht herum.
Und noch mal der Hinweis (ich weiß nicht genau ob Du das so registriert hast) > Jeder User benötigt sein eigenes Frontend auf seinem PC, nur das Backend ist zentral auf dem Server.
4 User > 4 Frontends, ein Backend.

Das ist ein ziemlicher Aufwand. Du kannst für Dich z.B. eine Version erstellen die alles kann. An die User verteilst Du eine ACCDE. Das ist eine kompilierte DB in der keine Entwürfe mehr geändert werden können, auch der Zugang zum VBA Code ist nicht mehr möglich.
Da muss man aber auch gewaltig aufpassen und die ACCDB (als Original) immer bereit haben, denn eine ACCDE kann nicht mehr zugänglich gemacht werden, auch nicht für den Entwickler.

Wie Du siehst, ein stabil laufende DB in einer Mehrbenutzerumgebung ist ein ziemlicher Programmieraufwand. Und wenn es dann noch Rechte gibt wird das zu einem Vollzeitjob, denn da bietet Access nichts fertiges mehr, das muss alles programmiert werden.
Gruß Klaus

HB9876

ZitatWas soll ich tun?
Das ist letzendlich eine Frage die nur du beantworten kannst.
Ich bin auch nicht der erfahrenste in Access, da haben andere hier tiefere Faehigkeiten.

Aber auf jedenfall den Hinweis zur Trennung in FE und BE und am besten auch eine Update Moeglichkeit zur verteilung von dem FE.

Ich wuerde dir aber auf jedenfall raten sich tiefer mit den Punkten Datenbank und Access (Programmierung) zu beschaeftigen bevor du das Thema weiter verfolgst.

Learning by doing ist sicher der richtige Weg, aber eine gewisse Grundidee/Verstaendniss ist mehr als hilfreich.
Mit jeder Antwort komme ich weiter und lerne.<br /><br />Danke!!!