Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Arndt am Mai 09, 2016, 10:14:28

Titel: Konflikte in Mehrbenutzerumgebungen
Beitrag von: Arndt am Mai 09, 2016, 10:14:28
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?
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: MzKlMu am Mai 09, 2016, 10:19:54
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
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: Arndt am Mai 09, 2016, 18:04:32
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...
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: DF6GL am Mai 09, 2016, 18:11:46
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.
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: Arndt am Mai 09, 2016, 19:00:12
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?
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: HB9876 am Mai 09, 2016, 19:04:53
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
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: MzKlMu am Mai 09, 2016, 19:05:07
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.
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: HB9876 am Mai 09, 2016, 19:09:54
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
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: Arndt am Mai 09, 2016, 19:32:40
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?
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: Arndt am Mai 09, 2016, 19:33:47
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.
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: MzKlMu am Mai 09, 2016, 19:43:39
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.
Titel: Re: Konflikte in Mehrbenutzerumgebungen
Beitrag von: HB9876 am Mai 09, 2016, 20:11:34
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.