【问题标题】:Split MS Access Database takes a long time to open - back end keeps locking and unlocking拆分 MS Access 数据库需要很长时间才能打开 - 后端不断锁定和解锁
【发布时间】:2015-10-22 16:11:17
【问题描述】:

我有一个拆分的 MS Access 数据库。大多数数据是通过通过 VBA 运行的 SQL 查询填充的。当我第一次连接后端数据时,需要很长时间,并且后端文件(.accdc 文件)锁定和解锁 3 或 4 次。不是每次开锁的次数都一样,但是这种加锁和开锁对应的是需要一段时间才能打开。当我第一次打开前端时,它没有连接到后端。这一步完成得非常快。不过,我第一次连接到后端时,可能需要一段时间。
关于加快此过程并使其在第一次尝试时更可靠地发生的任何建议?这是一个多用户文件,我不想对注册表进行任何更改,因为这需要为我部门的每个人进行更新。我主要担心它需要一段时间才能打开,但我认为锁定和解锁似乎很奇怪,可能是其他原因的影响或症状。

【问题讨论】:

  • 多用户?您应该使用真正的客户端-服务器数据库,例如mssql, postgres, mysql, etc...不能访问。
  • 不知道为什么您会看到多个锁定/解锁,但几年前我们通过创建变量提高了 FE/BE 的性能: Public rsAlwaysOpen As DAO.Recordset Global gv_DBS_Server As DAO.database Then Set rsAlwaysOpen = gv_DBS_Server.OpenRecordset("一些无关紧要的表")
  • 如果您将后端 db 文件的文件扩展名从 .accdc 更改为 .accdb,然后更新前端链接以指向该文件名,您是否看到任何改进?

标签: vba ms-access


【解决方案1】:

在大多数情况下,如果您使用持久连接,那么您注意到的慢速进程只会在启动时发生一次。 这个和其他一些性能提示可以在这里找到:

http://www.fmsinc.com/MicrosoftAccess/Performance/LinkedDatabase.html

10 次中有 9 次,以上将因此修复运行应用程序时的“延迟”。您可以简单地打开任何链接表进行测试,最小化该表,然后尝试运行您的代码或启动表单 - 注意延迟是如何消失的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 2013-11-18
    相关资源
    最近更新 更多