3

我的公司使用 Visual Basic 6 开发了一个应用程序。
该应用程序通过 ODBC 数据源使用 Access 数据库。
Access 数据库是一个扩展名为“.mdb”的文件。

在以下环境中运行应用程序时,我们没有注意到任何缓慢的数据访问:

  • 操作系统:Windows 7 32 位。
  • 已安装的 MS Access 版本:Access 2007。
  • OBDC 数据源使用的访问驱动程序:Microsoft Access Driver (*.mdb) 版本 6.01.7601.17632。

但是我们注意到在以下环境中运行应用程序时数据访问缓慢:

  • 操作系统:Windows 7 64 位。
  • 已安装的 MS Access 版本:Access 2010 或 2003。
  • ODBC 数据源使用的访问驱动程序:Microsoft Access Driver (*.mdb) 版本 6.01.7601.17632。

我已经搜索了一段时间以找到解决方案。
根据网上找到的文章,其他开发人员也遇到过同样的问题。

有关信息,我的 ODBC 32 位管理员中未启用跟踪功能。
以下页面提到了跟踪功能:
http ://answers.microsoft.com/en-us/office/forum/office_2010-access/my-solution-to-access-being-slow-with-odbc/a5a6522f-a70f- 421e-af1b-48327075e010

我还尝试禁用 LLMNR 协议,但未成功,如下页所述: http ://accessexperts.net/blog/2011/11/02/windows-7-64bit-slow-with-access-2007-solved/

任何帮助将不胜感激

4

1 回答 1

1

有很多事情要检查,你要做的第一件事就是在你的应用程序中创建我们称之为持久连接的东西。持久连接只是意味着在您的启动代码中的某处,您打开一个从后端到记录集的表,并在您在该应用程序中执行的任何其他操作期间保持打开状态。

持久连接通常会产生巨大差异的原因是,较新的操作系统在创建与数据库的连接时往往确实具有大量额外的安全性和开销。事实证明,通常在 access 数据库中打开和关闭表需要同时打开和关闭这些连接。如果您强制持久连接始终保持打开状态,那么现在不会发生这种干扰代码中一般更新的一般性能的非常缓慢且大量开销的过程。

试试上面的方法,因为这个设置经常解决这个性能问题和问题。

于 2012-09-14T02:21:18.503 回答