我在Windows 7 64位的vfp9上有问题。我发现创建sql视图需要5-6秒。这些在XP中是即时发生的。当我的应用程序启动时,我做了一些这样的事情,所以在win7中,我的应用程序启动时间比XP长30多秒。我的视图是这样的:
create sql view MyView remote connection MyConn as select * from MyTable
我还发现调用dbsetprop在win7中又增加了1-2秒。在XP中也是瞬时的。
dbsetprop('MyView.MyPk', 'Field', 'KeyField', .T.)
dbsetprop('MyView.MyPk', 'Field', 'Updatable', .T.)
一旦创建,视图就会正常工作。
有没有人对我可以尝试什么或什么是/可能导致这种情况的任何信息有任何想法?
提前感谢。
我不知道为什么,因为我还没有使用过Windows 7的VFP…但是,我会在VFP中检查并尝试更改一些设置,看看它是否有帮助。
从VFP/IDE菜单中,转到工具,然后转到选项。在多选项卡表单中,单击"Remote Data"选项卡。
我不知道是否/它试图做什么,但也许是为了测试,确保"记录一次获取"不设置为"所有"(复选框)。
我还会查看SQLSETPROP()函数,看看这些设置是否有帮助。
我无法在Windows 7 64位上复制此内容,无论是VFP9 RTM还是VFP9 SP2。我没有任何大小的数据库可以使用,但在样本数据库Northwind上,您列出的命令似乎可以立即工作。
几个问题:
- 在任何运行Windows 7的机器上都可以复制吗? 你的数据库在哪里?它是在本地机器上、本地网络上还是在internet上?
Windows 7和Visual FoxPro(以及类似的)应用程序似乎存在更多的速度问题,我认为这是由于Windows 7中不同的网络堆栈,不成熟的网卡驱动程序,对布线和网络交换机问题的敏感性增加,或者这些问题的任何组合。
确保所有的Windows 7机器都安装在SP1上(以及任何带有共享DBF文件的Server 2008机器),因为这修复了影响Visual FoxPro索引的文件损坏问题。
确保您的网卡驱动程序是100%最新的。这可以产生很大的影响。
我所看到的一件事,可以大大提高网络Visual FoxPro应用程序的速度是网卡驱动程序中断调节设置。这存在于Intel, Broadcom和许多其他网卡上,尽管名称可能略有不同。
我个人曾见过这样的情况,禁用此功能将网络VFP应用程序从30秒启动更改为大约6秒。
找到解决办法了
写入缓存被机器自带的raid控制器软件禁用。
在"设备管理器>磁盘驱动器>属性>策略"下启用了写缓存。但是,该软件正在重写此设置。
在Windows 7策略中取消选中,可以在没有raid软件的情况下复制。