MultiUser Zugriff |
MultiUser Zugriff |
28. Sep 2010, 15:40
Post
#1
|
|
new Member Group: Members Posts: 3 Joined: 20.05.2009 From: Karlsruhe Member No.: 119 LV Version: 2014 Zertifizierung: keine LV User seit: 2004 |
Hallo,
beim Zugriff auf eine Datenbank (Speicherort: Netzwerk) von verschiedenen Rechner stellt sich folgendes Problem. Rechner A führt einen Update auf ein Feld in einem Datensatz durch und verifiziert danach auch noch, ob der Feldinhalt richtig gelesen wird. --> Dadurch soll der Datensatz als >GESPERRT< markiert sein Rechner B greift gleichzeitig auf diesen Datensatz zu und prüft ob der Datensatz als >GESPERRT< markiert ist. Nun das Problem: Rechner B kann beim Lesen des Datensatzes den geschriebenen Wert von Rechner A nicht erkennen. Es sieht so aus, als ob Rechner A die Daten in einen Puffer schreibt, der zum Zeitpunkt wenn Rechner B darauf zugreift, noch nicht in die Datenbank geschrieben wurde. Kann man das sofortige schreiben der Daten erzwingen, oder liegt das Problem ganz wo anders? This post has been edited by kochp: 28. Sep 2010, 15:41 |
|
|
29. Sep 2010, 07:46
Post
#2
|
|
proven Member Group: Administrators Posts: 315 Joined: 16.10.2006 From: Düsseldorf Member No.: 2 LV Version: current Zertifizierung: CLA LV User seit: 2001 |
Hallo, beim Zugriff auf eine Datenbank (Speicherort: Netzwerk) von verschiedenen Rechner stellt sich folgendes Problem. Rechner A führt einen Update auf ein Feld in einem Datensatz durch und verifiziert danach auch noch, ob der Feldinhalt richtig gelesen wird. --> Dadurch soll der Datensatz als >GESPERRT< markiert sein Rechner B greift gleichzeitig auf diesen Datensatz zu und prüft ob der Datensatz als >GESPERRT< markiert ist. Nun das Problem: Rechner B kann beim Lesen des Datensatzes den geschriebenen Wert von Rechner A nicht erkennen. Es sieht so aus, als ob Rechner A die Daten in einen Puffer schreibt, der zum Zeitpunkt wenn Rechner B darauf zugreift, noch nicht in die Datenbank geschrieben wurde. Kann man das sofortige schreiben der Daten erzwingen, oder liegt das Problem ganz wo anders? wenn es sich um eine Access "Datenbank" handelt, dann ist schon klar was passert: bei jedem Zugriff auf eine "Remote" Datenbank wird der Teil der Datenbank, der für die Abfrage benötigt wird auf den ausführenden Rechner kopiert und anschließend wieder zurück geschrieben. Den gleichzeitigen Zugriff von 2 Hosts kann man also auf keinen Fall verhindern. Dafür benötigt man einen echten Datenbank-Server wie z.B. den MS SQL Server 200x Express, der sorgt von alleine dafür, dass bei parallelen Zugriffen nichts durcheinander kommt ... -------------------- künstliche Intelligenz ist besser als natürliche Dummheit!
rotabench:rotierende Prüfstände nach dem Baukasten-Prinzip |
|
|
Lo-Fi Version | Time is now: 27.05.2024 - 09:10 |