自 JET 3.5 以来,Jet/ACE 是不是改善了其并发性和稳定性问题?

Posted

技术标签:

【中文标题】自 JET 3.5 以来,Jet/ACE 是不是改善了其并发性和稳定性问题?【英文标题】:Has Jet/ACE improved its concurrency and stability issues since JET 3.5?自 JET 3.5 以来,Jet/ACE 是否改善了其并发性和稳定性问题? 【发布时间】:2011-11-30 07:14:02 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

我已经使用 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,您确实可以选择网络发布,并且此架构基于 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。

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

但是,归根结底,我不知道在文件共享模式下使用 JET 或现在的 ACE 数据引擎有哪些改进,但无论如何使用 Access 时,您都不会局限于此选择。

【讨论】:

以上是关于自 JET 3.5 以来,Jet/ACE 是不是改善了其并发性和稳定性问题?的主要内容,如果未能解决你的问题,请参考以下文章

连接到 Jet/ACE 数据库的 Ubuntu Shiny 服务器

Excel 的 NETWORKDAYS 函数与 Jet ADO 的等效项

您如何获得 MS Access 数据类型的列表?

如何读取旧的 Jet 3.5 数据库?

C#下载了一个小access程式,打是时提示未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"

在 MS Access 中使用 SQL Server Express 引擎