自JET 3.5起,Jet / ACE是否改进了并发性和稳定性问题?

时间:2011-11-30 07:14:03

标签: ms-access jet ms-jet-ace

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

我认为这里没有任何具体的变化。在您处理文件共享系统并且让多个用户编辑位于硬盘驱动器上的同一文件的那一天结束时,您本身就会使用需要额外注意的情况。

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

请注意,大多数表都非常小,比如75,000条记录,它们的详细子记录是100,000 +行。所以这是一个相当小的非常轻量级的应用程序然而,对于这个10年以上的客户,我没有在手机上使用该软件进行全天预订的5个用户的腐败或问题。我会说它坚如磐石。

然而,正如所指出的,我有一个很好的设置,知道我在做什么,并且做了所有正确的开发人员应该做的正确事情(拆分数据库,以及一系列其他良好实践)。

但是,如果一个网络设置不佳,开发实践不佳以及Access设置不佳,那么通常最好的方法是切换到SQL服务器(我的应用程序的一半或更多使用SQL服务器 - 我使用免费版的SQL和Access作为前端。)

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

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

这意味着您可以发布Access数据库,并且有一百万用户同时访问该网站。当然,原因在于您使用的是现在运行软件的Microsoft银河大规模服务器场,而您的数据并未存储在文件共享访问文件中。这意味着您在用户数方面具有无限的可扩展性。

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

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

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

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

因此,在一天结束时要明确的是,在文件共享模式下使用JET数据库引擎,这种模式不太容忍与数据连接中断。因此,JET / ACE引擎已损坏,而不是使用MS Access的事实。

所以你总是可以选择继续使用Access,但是后来可以为后端数据库使用其他东西。

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

对于基于Web的您使用低成本办公室365(主机起价为6美元),或者如果您在网站上有SharePoint,则可以使用它。

但是,在一天结束时,我不知道在文件共享模式下使用JET或现在的ACE数据引擎的改进,但是在使用Access时,您从未限制此选择。