:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
При работе в сети иногда не открывается таблица | ||
---|---|---|
Проблема
В сетевом приложении при одновременной работе нескольких пользователей иногда не открываются таблицы. Возникает сообщение вроде Цитата: Причина Это связано с ужесточением контроля структуры таблиц в момент их открытия, начиная с версии Visual FoxPro 8. Варианты этого контроля регулируются настройкой
На момент проведения такого контроля (при открытии таблицы) требуется заблокировать заголовок таблицы. Если это невозможно (заголовок блокирован другим пользователем), то и возникает данное сообщение. Решение В принципе, Вы, конечно, можете снизить уровень контроля, изменив настройку SET TABLEVALIDATE. Однако более корректным является изменение самой логики построения многопользовательского приложения. Основная идея изменения логики заключается в уменьшении времени блокировки как заголовка таблицы (что необходимо в данном случае), так и каких-либо блокировок в таблицах вообще. Т.е. недопустимо давать команду типа FLOCK() на неопределенно долгое время, ожидая реакции пользователя. Или использовать пессимистическую буферизацию. Блокировка должна осуществляться только в момент сохранения внесенных изменений и в этот момент недопустимо ожидание реакции пользователя. Разумеется, такая идеология построения многопользовательского приложения при неизменном уровне контроля SET TABLEVALIDATE не устранит данную проблему совсем, но существенно снизит как вероятность ее появления, так и вероятность повреждения таблиц в случае аварийного отключения питания. |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
Работа с данными | 6667 | Владимир Максимов | 01.03.05 22:04 |
Выбрать из дочерней таблицы записи с максимальной датой | 22037 | Владимир Максимов | 15.06.05 21:08 |
Выбрать записи с повторяющимися (дублирующими) значениями поля | 13027 | Владимир Максимов | 27.06.05 21:21 |
Как выполнить восстановление поврежденных индексов | 10750 | Владимир Максимов | 29.06.05 21:04 |
Как изменить значения в одной таблице данными из другой | 13375 | Владимир Максимов | 29.06.05 21:40 |
Запрос с GROUP BY выдает сообщение о синтаксической ошибке | 12359 | Владимир Максимов | 20.07.05 17:47 |
При работе в сети иногда не открывается таблица | 5952 | Владимир Максимов | 20.07.05 18:36 |
Как получить программный код создания структуры базы данных | 8389 | Владимир Максимов | 18.09.05 11:14 |
Как восстановить поврежденную таблицу | 21602 | Владимир Максимов | 31.08.08 23:02 |
© 2006 Fox Club  |