0

我熟悉使用 JET 3.5 作为后端。此版本的数据库引擎存在明显的稳定性和并发性问题。MDB 文件也有 1GB 的限制。

从那时起,JET(或现在称为 ACE)在这方面是否有所改进?

4

2 回答 2

1

一项改进:Jet 4 和 ACE 对数据库文件的大小有 2 GB 的限制。

于 2011-11-30T17:52:19.180 回答
1

我不认为这里有任何具体的变化。归根结底,当您处理文件共享系统并且让多个用户在硬盘驱动器上编辑同一个文件时,您本质上就是在使用需要额外小心的情况。

我使用 JET 后端在 Access 中与一些客户一起运行多用户系统大约 10 年。他们有大约 5 个用户,应用程序中等大小(160 个表单,大约 35,000 行 VBA 代码)。该应用程序有大约 55 或 60 个非常相关的表,因为我有一个很好的规范化设计并且我依赖于引擎级别的引用完整性。

请注意,大多数表都很小,比如 75,000 条记录,它们的详细子记录是 100,000 多行。所以这是一个相当小而且非常轻量级的应用程序。但是对于这个客户在 10 多年的时间里,我没有遇到过 5 个用户在电话上整天使用这个软件进行预订的损坏或问题。我会说它坚如磐石。

但是,如前所述,我有一个很好的设置,知道我在做什么,并且已经完成了有能力的开发人员应该做的所有正确的事情(拆分数据库,以及许多其他好的实践)。

但是,如果一个人的网络设置很差,开发实践很差,而且 Access 的设置很差,那么通常最好的方法是切换到 SQL Server(我的一半或更多的应用程序使用 SQL Server——我使用免费的以 Access 作为前端的 SQL 版本)。

因此,如果没有良好的开发实践,那么您可以做较少的开发人员所做的事情,只需使用基于服务器的系统,例如 SQL Server。换句话说,SQL Server 对糟糕的设计和糟糕的设置更加宽容。因此,您知道的越少,开发人员的能力越差,那么他们对 SQL Server 的使用就越好。

但是,您还应该记住,对于 access 2010,您确实可以选择 Web 发布,并且此体系结构基于 Microsoft 的云计算计划。

这实际上意味着您可以发布您的 Access 数据库并让一百万用户同时访问该网站。原因当然是因为您使用的是微软现在运行您的软件的银河大型服务器场,并且您的数据没有存储在文件共享访问文件中。这意味着您在用户数量方面拥有无限的可扩展性。

所以这是我使用的一个访问应用程序,但随后在 A2010 中使用了新的发布选项 - 请注意以下视频中途我切换到在浏览器中 100% 运行访问应用程序:

http://www.youtube.com/watch?v=AU4mH0jPntI

没有使用 activeX 或银灯——上面是 100% 在我的桌面上使用 MS Access 开发的,没有其他工具。

还需要注意的是,在谈论 Access 时,您不仅限于使用“文件共享”,还可以使用 Access 来设计和构建应用程序,但后端数据现在可以基于云 (SQL Azure) 或使用Web 发布,然后是 Office 365 或 SharePoint。MS access是开发工具,允许你选择oracle或者SQL server或者所谓的JET数据库引擎(其实新版本对象现在叫ACE)。

因此,最终要明确的是,在文件共享模式下使用 JET 数据库引擎对数据连接中断的容忍度较低。因此,损坏的是 JET/ACE 引擎,而不是使用 MS Access 的事实。

因此,您始终可以选择继续使用 Access,但随后可以将其他东西用于后端数据库。

请记住,尽管人们经常说您可以用 SQL Server 替换访问,但他们经常忘记应用程序开发部分。SQL Server 没有表单或代码来构建具有类似访问权限的用户界面。因此,您可以使用 Access 构建用户界面,现在如前所述,此 UI 可以基于 Web。

对于基于 Web,您可以使用低成本的 Office 365(托管起价为 6 美元),或者如果您在网站上有 SharePoint,您可以使用它。

但是,在一天结束时,我不知道在文件共享模式下使用 JET 或现在的 ACE 数据引擎的改进,但无论如何在使用 Access 时,您永远不会局限于此选择。

于 2011-12-01T18:39:27.567 回答