powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / file/server как правильнее открывать/добавлять и тп
3 сообщений из 3, страница 1 из 1
file/server как правильнее открывать/добавлять и тп
    #33843111
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветик!
Тема избитая - пробую файл-серверное приложение сделать, vfox8. Все базы - free tables.

1) Для совместного использования одних и тех же баз, которые нужны в режиме READ ONLY я решил использовать use shared - в принципе проверял - работает. Делается ли это как-то по-другому, правильнее?
Например пробовал select into cursor - то по ходу открывается еще и таблица которая from, а именно этого я и пытаюсь избежать.
2) Как правильно открыть базу, которая уже не read only? Тоже подойдет USE SHARED?
3) Возник вопрос добавления новой записи в базу, которая уже не read only. Как это сделать? Т.е. я понял, что сперва нужно ее залочить (с проверкой возможности залочить), тогда вставить и сразу разлочить. А как вставлять? Пройдет ли тема INSERT INTO (которая тоже открывает таблицу если та еще не открыта) или же правильнее что-то другое использовать?
4) Как редактировать существующую запись в базе, которая уже не read only - лочить запись - понятно, а дальше что? Обычный replace?
5) Удаление записи тоже по схеме - залочим запись, ВУДУ (DELE), разлочим запись?
6) Упаковка удаленного тока на сервере - как базы открыть на сервере эксклюзивно и поотключать всех, кто их у себя даже в режиме чтения открыл? или так не делается ваще...
...
Рейтинг: 0 / 0
file/server как правильнее открывать/добавлять и тп
    #33843711
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1/2. Если используешь свободные таблицы то SET EXCLUSIVE OFF и USE или USE SHARED (что идентично) впринципе единственый способ сделать совместно используемые таблицы(экзотику с использыванием вьюх или курсор-адаптеров рассматривать не будем) Что только для просмотра что для редактирования.

3. INSERT INTO вполне достаточно, ничего лочить не нужно.

4. Есть варианты - Блокируешь запись RLOCK() считываешт все в переменые, редактируешь, записываешт обратно - можно REPLACE, можно SCATTER/GATHER, отпускаешь блокировку
Или просто копируешь в переменые, исправляешь нужное и только на момент сброса блокируешь запись. Если данные там изменились - можно спросить пользователя а можно и просто переписать поверху - тут от задачи зависит.

5. Да.

6. Предусматривается особый режим, запускаемый администратором когда появляется возможность.

Но лучше всего никакими блокировками не пользоватся - это рудимент FPD-шной технологии, читай про буферизации и использывание функций TableUpdate(), TableRevert(), OldVal(), CurVal() и т.д.
...
Рейтинг: 0 / 0
file/server как правильнее открывать/добавлять и тп
    #33844096
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / file/server как правильнее открывать/добавлять и тп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]