Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокирование доступа к таблице? / 9 сообщений из 9, страница 1 из 1
22.05.2004, 23:35
    #32529506
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
База при импорте данных из *txt файла использует таблицу Temp.
После того, как пользователь предварительно просмотрит импортируемые данные он добавляет их в теблицу Katalog и, одновременно с этим (практически) удаляет данные и таб.Temp.
Вопрос собственнос вот вчем:
Если одновременно 2 пользователя добавят данныне в Temp, а потом один из них импортирует "свои" данные и удалит "чужие" данные.
Как организовать зациту от такой ситуации?
Удаление с использованием фильтра, или при помощи временной болокировки таблицы?
Если есть способ организации второго варианта с уважением использовал!
Ok.madg
...
Рейтинг: 0 / 0
22.05.2004, 23:39
    #32529509
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
Во временной таблице можно сделать поле "имя юзера". Тогда каждый юзер будет добавлять и стирать только записи со своим именем.
...
Рейтинг: 0 / 0
22.05.2004, 23:42
    #32529511
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
Конкретнее так:

1. DefaultValue этого поля: CurrentUser()
2. При стирании: where ...=CurrentUser()
3. При копировании из временной таблицы аналогично.

Если юзеры не вводят имя при входе, то вместо CurrentUser() можно использовать имя компа или что-нибудь еще.
...
Рейтинг: 0 / 0
23.05.2004, 06:02
    #32529547
Msmaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
Создаёшь таблицу с полем , например LOCK (integer), ЗНАЧЕНИЕ 0. При добавлении в таблицу TEMp, проверяешь IF ЗНАЧЕНИЕ этого поля LOCK. Если 0 то никто ничего не делает, тогда работаем. Если 1 ,то уходим.
...
Рейтинг: 0 / 0
23.05.2004, 09:30
    #32529560
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
я в таких случаях каждому юзеру бросаю в /root/Windows mdb где храню его ник(сетка Novell имена машин и прочее не уникальны)
а в Temp конечно отдельное поле под ник как писали выше
...
Рейтинг: 0 / 0
23.05.2004, 12:19
    #32529582
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
Спасибо за предложенные варианты.
Организовал проверку удаления по уникальному №документа.
А потом додумался вот до чего именно Temp оставить локально вместе с интерфейсом, а остальные таблицы на сервак. Я так понимаю временную таблицу каждый пользователь будет использовать свою.(или как?).
Но вопрос остается!
Проблема собственно не в удалении данных используя фильтр, а в самом
принципе:
ВОЗМОЖНО ЛИ БЛОКИРОВАНИЕ ОТДЕЛЬНЫХ КОМПОНЕНТОВ БАЗЫ В ОТВЕТ НА КАКОЕ ЛИБО СОБЫТИЕ!? (открытие формы или еще какие?*)

Спасибо!
...
Рейтинг: 0 / 0
23.05.2004, 12:47
    #32529590
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
блокировать можно таблицы и записи в них
занимается этим JET
подробности 2-ой том Гетца лучше некому
...
Рейтинг: 0 / 0
23.05.2004, 12:54
    #32529594
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
Совет Msmaster'а небезупречен. Он не спасет от ситуации, когда два юзера занесут 1 одновременно.
...
Рейтинг: 0 / 0
23.05.2004, 13:02
    #32529598
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Блокирование доступа к таблице?
+ необходимость ручного обслуживания семафора который залипнет после первого падения клиентской части
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Блокирование доступа к таблице? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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