【发布时间】:2011-08-10 07:35:17
【问题描述】:
有时,可视化 FoxPro 应用程序在 FileShare 中找不到文件,而这些文件是存在的。
例如,当在网络共享上的现有文件上签入循环 File() 时,大约 5% 的尝试找不到该文件。
这适用于大多数机器,但有时不起作用。在当前场景中,我将 Windows Server 2K8 作为文件服务器(可能是 SMB2 问题?)
【问题讨论】:
有时,可视化 FoxPro 应用程序在 FileShare 中找不到文件,而这些文件是存在的。
例如,当在网络共享上的现有文件上签入循环 File() 时,大约 5% 的尝试找不到该文件。
这适用于大多数机器,但有时不起作用。在当前场景中,我将 Windows Server 2K8 作为文件服务器(可能是 SMB2 问题?)
【问题讨论】:
我会将您的 2K8 服务器修补到 SP1(以及任何 Windows 7 客户端),这将解决任何 SMB2 问题。不过,这些问题与 CDX 索引文件损坏有关。
这也可能是由于 SMB2 使用的缓存导致“找不到文件”错误。涉及的客户端注册表设置是:
FileInfoCacheLifetime
FileNotFoundCacheLifetime
DirectoryCacheLifetime
Alaska Software's 网站上对此进行了讨论,还有一个有用的 MSI 安装程序,可以在每个工作站上运行以调整设置。这家公司生产了一款名为 Xbase++ 的产品,但我猜它在低级文件 IO 和锁定方面已经足够接近 Visual FoxPro。
【讨论】:
如果是 Fox 或您的网络的问题,则不肯定。回到过去,我有一个客户遇到了类似的问题。将 Foxpro 排除在外,只使用 Windows 资源管理器,它会挂起一会儿。最终他们的网卡被设置为节能模式,并且由于不活动而基本上会超时/关闭。网络驱动器共享显然会被释放。在网卡重新连接并重新建立之前,他们遇到了问题。通过改变网卡从不进入节能模式,问题就解决了。
【讨论】:
是的。我在各种不同的服务器上部署了 fox pro 版本,以及各种版本的 windows 服务器,并且从未遇到过上述问题。
也许您可以尝试使用不同的编程学科、.Net、access、Ruby .... 等进行类似的测试
发布你的测试循环,只是出于兴趣?
【讨论】: