Vb.net 网络共享中的MS访问速度慢

Vb.net 网络共享中的MS访问速度慢,vb.net,ms-access,jet,Vb.net,Ms Access,Jet,我有一个针对MS Access数据库运行的.NET应用程序(VB.NET)。每个数据请求都连接到access数据库,运行并返回查询,然后再次关闭连接 我把数据库放在WindowsXP32位机器上 我有两个安装了.NET应用程序的客户端。两个客户端都运行32位windows 7 professional 现在我有一个性能问题 当我使用第一个客户端时,它运行良好。所有数据都显示得非常快。当我使用第二个客户端时,连接到数据库、获取数据并关闭数据库连接大约需要10秒钟。当我在第二个客户机上请求其他数据时

我有一个针对MS Access数据库运行的.NET应用程序(VB.NET)。每个数据请求都连接到access数据库,运行并返回查询,然后再次关闭连接

我把数据库放在WindowsXP32位机器上

我有两个安装了.NET应用程序的客户端。两个客户端都运行32位windows 7 professional

现在我有一个性能问题

当我使用第一个客户端时,它运行良好。所有数据都显示得非常快。当我使用第二个客户端时,连接到数据库、获取数据并关闭数据库连接大约需要10秒钟。当我在第二个客户机上请求其他数据时,它会正常运行,直到我从第一个客户机请求数据,然后再次请求。在第一台客户机上再次需要10秒钟才能获取我的数据

谁能帮我一下吗?我欠解决这个问题的人一杯比利时啤酒;-)

谢谢

  • 我不确定stackoverflow是否适合这样的问题,但是

  • 听起来第一个进程正在锁定文件,所以第二个进程必须等待

  • “使用SQL Server”并不是一个完全轻率的回答——SQL Server是专门为处理类似这样的并发问题而设计的

    我想

    附言: 这是一个相当蹩脚的链接,但它可能会有所帮助:

    缴费灵: 这里有一个更好的链接,提供了一些改进并发性的建议:

    Tom Wickerath写了一篇关于改进MS Access应用程序的多用户性能的文章。虽然他的文章假设使用MS Access前端,但许多技巧应该适用于.Net应用程序。我记得有两点可能对你有所帮助:

  • 保持与后端的持久连接
  • 使用(短)UNC路径而不是映射驱动器

  • 经过长时间的搜索,我发现了。。。我的virusscanner NOD32导致了这种情况,最有可能的原因是过度扫描入站和出站网络流量。

    根据我的经验,第1点非常重要。在某些情况下,将所有子数据表属性设置为[None]也被证明出人意料地有效。您可以使用sysinternals中的Process Monitor确认第1点导致了速度减慢。不久前我也遇到过类似的问题,每次应用程序试图打开连接时,您都会看到共享\u冲突导致多个1秒延迟。@如果选择2客户端解决方案(如果数据库不是关键任务),则可能不值得切换到SQL Server。保持与Access数据库的持久连接很可能会用更少的工作来解决问题。服务器上安装了NOD32 virusscanner,这导致了这种奇怪的行为。