我创建了一个 MS Access 2003 应用程序,设置为分离的前端/后端配置,用户组约为 5 人。前端 .mdb 位于网络文件服务器上,它包含所有查询、表单、报告和 VBA 代码,以及指向后端 .mdb 中所有表的链接以及一些指向 ODBC 数据源(如 AS/)的链接400。后端位于同一网络文件服务器上,其中只有表数据。
这一直运行良好,直到我“上线”并且我的少数用户开始提出增强请求、错误报告等。我一直在通过在我自己的前端 .mdb 副本中开发/测试来推出新代码另一个网络文件夹(链接到相同的后端 .mdb),然后将我完成的文件发布到“come-and-get-it”文件夹中,提醒用户,然后他们去复制/粘贴新的前端文件到他们自己在网络上的文件夹中。这样,每个用户都可以在他们处于“停止点”时更新他们的前端,而无需立即启动每个人。
我发现现在在开发时,有时Access会变得非常慢。就像,当我正在开发表单并尝试单击属性框上的下拉菜单时,下拉箭头将推入,但需要几秒钟才能出现选项列表。或者在表单上选择和移动控件时存在大量滞后。或者很多键盘滞后。
然后,在其他时候,根本没有滞后。
我想知道是否是因为我与其他用户链接到同一个后端。我确实做出了合理的努力来设置查询、表单、报告等,并根据需要使用最少的记录锁定(如果有的话)。但是我可能遗漏了一些东西,或者可能还有其他一些我需要解决的性能问题。
但是我想知道是否有更好的方法来设置我自己的开发后端.mdb,这样我就可以在“安全”数据上测试我的代码,而不是与其他用户相同的实时数据. 恐怕我破坏一些数据只是时间问题,可能是在最糟糕的时刻。
显然,我可以只设置一个单独的后端 .mdb 并每次使用链接表管理器手动重新配置前端中的表链接。但我希望有一个比这更优雅的解决方案。
而且我想知道在这个多用户拆分数据库配置中是否还有其他性能问题我应该考虑。
编辑:我应该补充一点,我坚持使用 MS Access(不是 MS-SQL 或任何其他“真实”后端);有关更多详细信息,请参阅我对这篇文章的评论。