Проблемы с сетью VFP в Windows 10 1803 - PullRequest
0 голосов
/ 18 мая 2018

У нас возникли серьезные проблемы с совместным использованием файлов в многопользовательской сети в Windows 1803 и VFP9 SP2.Вот некоторые из проблем, которые мы видим:

  1. Пустые записи, записанные в базу данных.Система запишет полную запись со значениями во всех полях, но запись в таблице пуста.

  2. Записи, которые записаны, но не отображаются для других пользователей, пока таблица не будетзакрыто.Если сеанс A открывает таблицу и добавляет 5 записей, сеанс B увидит, что дополнительные 5 записей есть, но они либо будут пустыми, либо будут содержать данные из предыдущей записи.Как только сеанс А закроет таблицу, данные появятся для других сеансов.

  3. Записи будут добавлены в таблицу и в конечном итоге просто создадут дубликат предыдущей записи.

Похоже, что это все проблемы с кэшированием или отложенной записью какого-либо рода.

Я видел различные комбинации этих проблем очень последовательно в десятках установок в последней паредней.Единственное решение состояло в том, чтобы пользователи откатились к предыдущей сборке Windows.

Мы пытались отключить блокировки на клиентских и серверных компьютерах и проверять, что автономные файлы не включены, но не нашлирешения.

Кто-нибудь еще видел что-нибудь подобное?Предложения?Это может быть катастрофой, если мы не поймем это.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Я решил эту проблему, заблокировав таблицу, и если не удается заблокировать таблицу, подождите, пока таблица не станет доступной для блокировки.Иногда это замедляет процесс, но данные не теряются.коды здесь

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 голосов
/ 23 мая 2018

Итак, вот что мы нашли.Похоже, проблемы были вызваны обновлением KB4103721 до Windows 1803. Мы смогли решить эту проблему, удалив это обновление как временное решение.

Мы обнаружили, что отключив некоторые параметры кэширования SMB.

Откройте административную подсказку powershell.(щелкните правой кнопкой мыши кнопку пуска)

Выполните следующие две команды:

set-smbclientconfiguration -DirectoryCacheLifetime 0
set-smbclientconfiguration -FileInfoCacheLifetime 0

Затем вы можете запустить

get-smbclientconfiguration

, чтобы проверить, установлены ли значения.

...