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