有时,当用户尝试打开特定文件时,Access 2000 会生成以下消息:
“数据库已被计算机‘(无论用户是谁)’上的用户‘Admin’置于某种状态,以防止其被打开或锁定。”
我所在的公司将该文件放在打印机公共文件夹 \PRINTER\Public 中,所有用户都可以通过从其计算机上的此位置打开该文件来访问它。总共有 15 个用户。
有谁知道为什么会发生这种情况,或者更重要的是,我怎样才能让这种情况不发生?
如果有帮助的话,我注意到根据错误消息通常阻止访问的用户是“WOODY-PC”,这也是一个网络文件夹。
提前感谢您的帮助。
答案1
发生这种情况的原因是数据库根本就不是设计用来这样的使用的。
Access 2000(尤其是)应该用作单个用户访问单个数据库或多个用户使用它来访问数据库服务器后端(例如 SQL 服务器)的桌面应用程序。
没有简单的解决方案,但如果你有 15 个用户,我猜公司正在发展 - 你应该投资你的 IT 基础设施,可能在这一点上,我建议使用备用机器来安装 SQL(不确定 Express 是否允许 15 个用户?),然后升级数据库以在其上运行。
这可能需要额外的工作,但它应该是一个可扩展的解决方案,以推动业务向未来发展。
答案2
您不能像那样共享 Access 数据库。
该应用程序应该分为前端(查询、表单、报告等——除表格之外的所有内容)和后端(仅表格),并且前端将具有指向后端的链接表。
然后每个用户都会获得前端的个人副本。
后端(包含表)保留在文件服务器上所有用户可访问(和可写)的位置(放在打印机文件夹中似乎很奇怪,但也许是将其存储在没有所有用户可访问的用户可写共享的服务器上的一种聪明方法)。
从长远来看,尝试共享前端对象永远无法可靠地工作(您遇到的错误只是开始),并且可能导致各种奇怪的问题,并导致共享前端数据库损坏。
许多人反对这种做法,因为他们认为这会使分发应用程序更新变得更加困难。实际上并非如此,因为您所要做的就是将更新后的前端复制到旧前端上。这可以通过多种方式完成,而且基本上是一件小事。