1

作为我的数据库类项目,我构建了一个简单的面向对象的数据库(用 C++ 编码)。DB 通过使用网关文件来管理并发性,该文件授予对整个 DB 的读/写访问权限。要跨不同机器访问同一个数据库,您可以使用共享文件夹。

我在此基础上构建了一个小测验应用程序。在具有多个用户的单个系统以及我家中的 3 台计算机网络上,一切正常。但是,当它在我大学的网络上运行时,我不断收到不一致的数据损坏,包括错误的 CRC(在我的数据库中,而不是磁盘中)、文件头与文件数据不一致以及其他奇怪的错误,我无法做到追查。网络是有问题的——有时网络上的某些节点变得无法访问,有时复制文件需要花费大量的时间。

有时,我收到一条错误消息“Windows 延迟写入失败”,所以我认为这些问题是由网络文件共享问题引起的。从一些分析看来,数据正在被缓存,所以我真的不知道磁盘写入是否成功。

有没有人有使用共享文件作为数据库的经验?我想知道使用共享文件是否可靠,以及是否应该将代码中的错误视为问题的原因。

谢谢。

4

1 回答 1

2

不,这不可靠。这就是 CVS 禁用将共享文件用于存储库的模式的原因。解决方案是创建一个服务器(例如一个简单的 TCP/IP 服务器)。

于 2011-01-03T16:00:20.313 回答