作为我的数据库类项目,我构建了一个简单的面向对象的数据库(用 C++ 编码)。DB 通过使用网关文件来管理并发性,该文件授予对整个 DB 的读/写访问权限。要跨不同机器访问同一个数据库,您可以使用共享文件夹。
我在此基础上构建了一个小测验应用程序。在具有多个用户的单个系统以及我家中的 3 台计算机网络上,一切正常。但是,当它在我大学的网络上运行时,我不断收到不一致的数据损坏,包括错误的 CRC(在我的数据库中,而不是磁盘中)、文件头与文件数据不一致以及其他奇怪的错误,我无法做到追查。网络是有问题的——有时网络上的某些节点变得无法访问,有时复制文件需要花费大量的时间。
有时,我收到一条错误消息“Windows 延迟写入失败”,所以我认为这些问题是由网络文件共享问题引起的。从一些分析看来,数据正在被缓存,所以我真的不知道磁盘写入是否成功。
有没有人有使用共享文件作为数据库的经验?我想知道使用共享文件是否可靠,以及是否应该将代码中的错误视为问题的原因。
谢谢。