Ms access 通过链接到access数据库的ODBC数据源进行缓慢的数据访问

Ms access 通过链接到access数据库的ODBC数据源进行缓慢的数据访问,ms-access,odbc,windows-7-x64,Ms Access,Odbc,Windows 7 X64,我的公司已经用Visual Basic 6开发了一个应用程序。 应用程序通过ODBC数据源使用Access数据库。 Access数据库是一个扩展名为“.mdb”的文件 在以下环境中运行应用程序时,我们没有发现任何缓慢的数据访问: 操作系统:Windows7 32位 MS Access的安装版本:Access 2007 OBDC数据源使用的访问驱动程序:Microsoft访问驱动程序(*.mdb)版本6.01.7601.17632 但我们注意到,在以下环境中运行应用程序时,数据访问速度较慢:

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

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

  • 操作系统:Windows7 32位
  • MS Access的安装版本:Access 2007
  • OBDC数据源使用的访问驱动程序:Microsoft访问驱动程序(*.mdb)版本6.01.7601.17632
但我们注意到,在以下环境中运行应用程序时,数据访问速度较慢:

  • 操作系统:Windows7 64位
  • MS Access的安装版本:Access 2010或2003
  • ODBC数据源使用的访问驱动程序:Microsoft访问驱动程序(*.mdb)版本6.01.7601.17632
我在谷歌上搜索了一段时间,想找到一个解决方案。
根据互联网上的文章,其他开发人员也经历过同样的问题

有关信息,我的ODBC 32位管理员中未启用跟踪功能。
以下页面提到了跟踪功能:

我还尝试禁用LLMNR协议,但未成功,如下页所述:


任何帮助都将不胜感激

有许多事情需要检查,您首先要做的是在应用程序中创建我们称之为持久连接的连接。持久连接只是指在启动代码中的某个地方,从后端打开一个表到一个记录集,并在该应用程序中执行的任何其他操作期间保持该表的打开状态

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


尝试一下上面的方法,因为这种设置通常可以解决性能问题

VB6是否可能存在64位的问题?使用已安装的Access版本与.mdb文件建立ODBC连接,查看是否存在性能差异。@Jeff:我已使用MS Access 2010创建了一个新的Access数据库。然后我尝试将我的新数据库链接到我的ODBC数据源。但是我已经被告知我不能使用链接到另一个Access数据库的ODBC数据源。你能解决这个问题吗?我有完全相同的问题。我公司的应用程序通过DAO 3.6库使用Access数据库。我已经检查了VB6源代码以查看如何创建连接。连接在执行开始时创建。首先,应用程序获得使用MicrosoftJetDB引擎的默认工作区。然后应用程序执行Workspace对象的OpenDatabase方法。OpenDatabase方法返回一个数据库对象,该对象在剩余的执行时间内用于执行SQL查询。它是否始终保持该OpenDatabase处于打开状态?您不想重新打开并重新创建OpenDatase。它只需要发生一次。因此,您需要创建一个全局对象,该对象打开数据库并在sesson期间保持不变。