当有人从Access数据库运行查询时,我遇到连接速度问题。当用户在不使用应用程序几分钟后运行新查询时,加载数据的延迟会显着增加。
我找到this article来解决这个问题,我做了所有的步骤,但代码不适合我!我有一个单一的数据库和应用程序在多用户环境(9人)。
有没有人有任何解决方案/建议?
谢谢, Peyman的
答案 0 :(得分:2)
请记住,持久连接并不总能解决网络问题。然而,在相当高的百分比情况下它确实如此。
如果持久连接可以修复您的问题,“测试”的最简单方法是在前端打开一个链接表。 (只要是指向后端的链接表,任何表都会执行)。现在运行您的代码或查询。如果它运行得很快,那么持久连接将有助于您的情况。如果上面简单的3秒测试不能解决性能问题,那么建议使用持久连接并且这是一个好主意 - 它不会解决您的性能问题。
所以试试上面的内容。如果以上解决了您的问题,那么您可以采用多种方法之一来实现持久连接。
强制或始终在后端打开连接的一些简单方法:
只需打开绑定到链接表的某个表单即可。它甚至可以是一种“测试”形式。在打开表单后,您可以设置其visible property = false。
另一种方法是定义一个全局记录集变量,并在启动时打开该记录集到后端的表中。例如:
设置rst = currentdb.OpenRecordSet("从tblTest中选择*")
请记住,如果您使用未编译的应用程序(accDB而不是已编译的accDE),那么任何未处理的错误都会导致此类全局变量失效,从而导致您的持久连接丢失。
因此,在进行狂野追逐之前,您可以通过在前端打开链接表来进行持久连接测试,最小化它,然后运行测试代码或任何慢速测试代码。如果您没有看到加速,那么使用持久连接将无法解决您遇到的性能问题。