首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Windows 10 1803的VFP网络问题

Windows 10 1803的VFP网络问题
EN

Stack Overflow用户
提问于 2018-05-19 04:20:51
回答 2查看 4.6K关注 0票数 1

在Windows1803和VFP9 SP2的多用户网络文件共享方面,我们遇到了一些严重的问题。以下是我们看到的一些问题:

写入数据库的

  1. 空白记录。系统将写入一个完整的记录,其中所有字段中都有值,但该记录在表中为空。已写入但在表关闭之前不会显示给其他用户的
  2. 记录。如果会话A打开一个表并添加5条记录,会话B将看到额外的5条记录在那里,但它们要么是空的,要么看起来像是前一条记录中的数据。一旦会话A关闭了表,数据就会出现,因为其他sessions.
  3. Records将被追加到表中,并且最终只会创建前一条记录的副本。

这些似乎都是缓存或某种延迟写入的问题。

在过去的几天里,我在几十个安装中非常一致地看到了这些问题的各种组合。唯一的解决方案是让用户回滚到以前的Windows版本。

我们已尝试禁用客户端和服务器计算机上的oplocks,并验证是否未启用脱机文件,但尚未找到解决方案。

其他人有没有看到过类似的东西?有什么建议吗?如果我们不把它弄清楚,这可能是一场灾难。

EN

回答 2

Stack Overflow用户

发布于 2018-05-24 03:12:32

这就是我们所发现的。这些问题似乎是由Windows1803的KB4103721更新引起的。我们能够通过删除该更新作为临时解决方案来解决问题。

我们现在已经通过禁用一些SMB缓存参数发现了这一点。

打开powershell管理提示符。(右键单击start按钮)

执行以下两个命令:

代码语言:javascript
复制
set-smbclientconfiguration -DirectoryCacheLifetime 0
set-smbclientconfiguration -FileInfoCacheLifetime 0

然后,您可以运行

代码语言:javascript
复制
get-smbclientconfiguration

以验证值是否已设置。

票数 3
EN

Stack Overflow用户

发布于 2018-05-30 07:40:19

我通过锁定表解决了这个问题,如果不能锁定表,那么等待表可供锁定。有时它会减慢进程,但数据不会丢失。代码在这里

代码语言:javascript
复制
t2 = [INSERT INTO table (fields_list_here) VALUES (fields_value_here)]
IF FLOCK()  && RLOCK
    &t2
    UNLOCK
ELSE
    do while .t.
        IF not FLOCK()  &&RLOCK()
            WAIT WINDOW "Attempting to lock. Please wait ..." NOWAIT
            IF INKEY() = 27 && The loop may be too fast you may not escape. Try putting a parameter "inkey(.1)"
                WAIT WINDOW "Aborting lock operation." NOWAIT
                exit
            ENDIF
        ELSE
            &t2
            UNLOCK
            EXIT 
        ENDIF
    ENDDO
ENDIF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50418733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档