![]() |
Sicheres arbeiten mit Dateien im Netzwerk
Hallo,
so jetzt mal was allgemeines. Wisst Ihr was Windows mit euren Dateien anstellt ?? Folgende Situation: Ein Client öffnet eine Datei auf dem Server
Delphi-Quellcode:
-> Die Datei wird also in den lokalen Arbeitsspeicher gezogen ?!?
fs:=TFilestream.Create('\\Server\Share\File',fmOpenreadWrite);
Die Datei wird verändert fs.Write(record,sizeof(record)); -> Was passiert jetzt? wo wird geschrieben? direkt auf der HDD vom Server? |
Re: Sicheres arbeiten mit Dateien im Netzwerk
vermutlich wird direkt auf dem server geschrieben.
vorausgesetzt, du hast die passenden rechte dazu. öffne doch mal ne datei auf'm server im editor und verändere sie. dann wird sie acuh direkt auf'm server gespeichert. |
Re: Sicheres arbeiten mit Dateien im Netzwerk
Hm,
wenn ich in eine Datei auf dem Server etwas schreiben möchte was ist sicherer? 1) Datei mit Stream öffnen schreiben und schließen 2) Datei lokal kopieren stream öffnen schreiben und wieder auf den Server kopieren? 1 oder 2 ? Es geht darum bei inistabilen netzwerken eine möglichst hohe sicherheit zu gewährleisten |
Re: Sicheres arbeiten mit Dateien im Netzwerk
du musst noch etwas anderes bedenken:
ein anderer user könnte die datei verändern, während du sie geöffnet hast => exklusiv öffnen. schlimmer wäre es noch bei 2), da würdest du die Änderungen des Kollegen überschreiben. kritisch wird es beim speichern nur, wenn das Netzwerk abkackt, während du schreibst. datei öffnen von Server - verändern - schreiben auf Server - währenddessen stirbt das netzwerk => du weisst nicht, wieviel geschrieben wurde, vermutlich ist die Datei komplett zerstört. die Version hier ist besser: Datei öffnen von Server - verändern ohne schreiben - Netzwerk kackt ab - Netzwerk kommt wieder - schreiben auf Server => kein Problem. |
Re: Sicheres arbeiten mit Dateien im Netzwerk
Zitat:
Zitat:
und markiert die Blöcke als "Dirty". Andere Prozesse (auch auf anderen Rechnern) sehen nun die veränderten Daten, falls sie gelesen werden. TFileStream arbeitet im Gegensatz zu read, write, assignfile,... ungepuffert. Wichtig sind die SHARE-Flags beim Erzeugen des FileStream. Mit fmShareExclusive kann sichergestellt werden, das kein anderer Prozess die gleiche Datei schreiben oder lesen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz