ms-access – 当多个用户连接到数据库时,VB6数据库操作会变慢

我目前正在使用VB6使用DAO连接到MS访问数据库,当第二个用户连接到数据库时,我遇到了非常明显的速度降低.

以下是重现的步骤:

>登录软件,从计算机A打开数据库
>通过软件将记录添加到数据库(大约需要0.4秒)
>第二个用户登录软件(计算机B),即:这将打开数据库,显示今天的交易,但用户不做任何其他事情
>在计算机A上,重复添加记录的操作,现在操作大约需要6秒钟

更多信息……

>即使计算机B退出软件,操作仍会持续6秒钟
>如果关闭并从计算机A重新打开应用程序,操作将返回仅执行0.4秒!

任何帮助将不胜感激!

谢谢!

最佳答案 这就是MS Access的工作方式.虽然它支持多个用户,并且支持将数据库放在文件共享上以便多个PC可以访问它,但它确实不是很好.如果你同时做这两件事(多用户和通过网络到文件共享),那么我感到痛苦.

答案是运行升级向导并将其转换为MS SQL Server实例.在这种情况下,MS SQL Server Express版本是替换Acess的不错选择.请注意,您仍然可以保留Access中的所有代码和报告等,只需要移动数据.

为了清楚区别,在MS Access中从数据库中读取数据时,程序会从文件中读取执行查询所需的所有数据,而不进行服务器端处理.如果该数据驻留在网络上,您将通过网络提取该数据.如果有多个用户,则会产生额外的锁定开销.每个用户通过文件I / O(将锁定信息写入网络文件或文件)有效地与其他用户的程序/进程对话.如果网络I / O超时或有其他问题,那么这些文件可能会损坏.

在SQL Server中,它是SQL Server引擎,它管理数据请求并仅返回所需的数据.它还可以管理锁定,并可以检测客户端何时断开连接或超时清理,从而减少网络上多个用户造成的问题.

点赞