Иллюстрированный самоучитель по Visual FoxPro 7

Многопользовательская работа в локальной сети

  • Типы блокировок

    В однопользовательской системе с данными работает только один человек, и ему нет необходимости думать о разделении доступа к файлам. Однако, с появлением пользователей, желающих получить доступ к одним и тем же данным, планирование разделения доступа к базе становится актуальным.
  • Автоматическая блокировка

    В Visual FoxPro может осуществляться автоматическая или ручная блокировка данных. При использовании определенных команд FoxPro попытается автоматически заблокировать записи или всю таблицу (табл. 20.1). | Таблица 20.1. Команды, автоматически блокирующие таблицу или записи. | Команда
  • Полная блокировка таблицы и блокировка изменений

    В некоторых случаях, например, при изменении структуры данных, вам необходимо осуществить полную блокировку таблицы для получения исключительных прав на нее. В этом случае другим пользователям запрещается чтение, запись и изменение структуры указанной таблицы, и они не смогут получить к ней доступ.
  • Блокировка таблицы

    Для установки блокировки изменений таблицы вы должны использовать функцию FLOCK, которая имеет следующий синтаксис: | FLOCK([псевдонимТаблицы]) | Функция блокировки проверяет текущий статус таблицы. Если в результате теста определяется, что таблица не заблокирована, она блокируется, и пользователь может продолжать с ней работать. Функция при этом возвращает логическое значение T.
  • Блокировка записей

    По возможности рекомендуется использовать блокировку отдельных записей, а не таблицы в целом. Заблокированная запись может изменяться только установившим блокировку пользователем, остальные пользователи имеют к ней доступ только на чтение.
  • Установка режима повторных попыток блокировки данных

    Если запись или таблица уже заблокированы, вам не удастся с первого раза установить блокировку. В этом случае вы можете использовать команду SET REPROCESS, которая задает количество дополнительных попыток заблокировать таблицу (или запись) или время, на протяжении которого будут выполняться дополнительные попытки блокировки.
  • Снятие блокировок таблиц и записей

    В большинстве случаев при переходе от одной записи к другой блокировка снимается. Однако, если вы заблокировали запись командами блокировки, ее необходимо разблокировать, чтобы к ней могли получить доступ другие пользователи. В табл. 20.2 описаны команды, используемые для снятия блокировок.
  • Сеансы работы с данными

    В Visual FoxPro для многопользовательской работы вы можете использовать сеансы работы с данными, которые представляют из себя среду окружения, связанную с формой или набором форм. С помощью сеансов работы с данными вы можете открывать одну и ту же форму на разных рабочих станциях или даже на одном компьютере (рис. 20.1), при этом каждая из них будет использовать отдельную копию данных.
  • Использование буферов. Блокировка при буферизации.

    Одним из мощных средств организации многопользовательской работы в Visual FoxPro является буферизация данных, которая позволяет лучше использовать локальные ресурсы и снижает нагрузку на сеть. При буферизации все сделанные вами изменения хранятся в оперативной памяти на рабочей станции и не обновляются на файл-сервере, пока вы не выполните соответствующую команду.
  • Обнаружение и устранение конфликтов

    При совместной работе с базой данных возможны конфликты, когда один или более пользователей пытаются заблокировать уже заблокированную другим пользователем запись. Возможны и взаимоблокировки, когда пользователь заблокировал одну запись или таблицу и пытается заблокировать вторую, которая уже заблокирована вторым пользователем.
  • Использование транзакций

    Под транзакцией в системах управления базами данных понимают логическую единицу работы, которая представляет собой последовательность нескольких операций, в процессе выполнения которых сохраняется целостное состояние базы данных.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.