Als Projekt für meine Datenbankklassen habe ich eine einfache objektorientierte Datenbank (in C++ codiert) erstellt. Die DB verwaltet die Nebenläufigkeit durch Verwendung einer Gateway-Datei, die Lese-/Schreibzugriff auf die gesamte DB gewährt. Um auf dieselbe Datenbank auf verschiedenen Computern zuzugreifen, verwenden Sie freigegebene Ordner.Verwenden von freigegebenen Dateien als Datenbank
Ich baute eine kleine Quiz-Anwendung darüber. Alles funktioniert gut auf einem einzigen System mit mehreren Benutzern sowie auf einem 3-Computer-Netzwerk zu Hause. Aber wenn es auf dem Netzwerk meiner Universität läuft, bekomme ich inkonsistente Datenkorruption in Form von fehlerhaften CRCs (in meiner Datenbank, nicht auf der Festplatte), Dateiheadern, die mit Dateidaten inkonsistent sind, und anderen seltsamen Fehlern, die ich nicht kann aufspüren. Das Netzwerk ist problematisch - manchmal werden einige Knoten im Netzwerk nicht erreichbar, und manchmal dauert das Kopieren einer Datei über die n/w hinweg unnötig viel Zeit.
Gelegentlich bekomme ich eine Fehlermeldung "Windows verzögerte Schreiben fehlgeschlagen", so denke ich, dass die Probleme durch Probleme mit der Dateifreigabe im Netzwerk verursacht werden. Aus einigen Analysen scheint es, dass Daten zwischengespeichert werden, und daher weiß ich nicht wirklich, ob ein Laufwerksschreiben erfolgreich ist.
Hat jemand Erfahrung in der Verwendung freigegebener Dateien als Datenbanken? Ich möchte wissen, ob die Verwendung von freigegebenen Dateien zuverlässig ist und ob ich Bugs in meinem Code als Ursache der Probleme betrachten sollte.
Danke.
Danke. Irgendwelche Hinweise, warum es unzuverlässig ist und warum ein TCP/IP-Server zuverlässiger wäre? –