Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Согласованность клиентов  [new]
AlexJS
Member

Откуда:
Сообщений: 34
Мучаюсь таким вопросом:
есть база, есть клиент.
пишу в VB.net, соединяюсь с базой Access через oleDb.

Пусть Клиент1 начал работу и закачал себе в DataSet таблицу. Клиент2 начал работу и изменил запись, затем обновил ее на сервере. Вопрос: как Клиент1 узнает об изменении, если он работает с отсоединенным набором данных?

Варианты решения которые приходят на ум:
- При каждом переходе по записям обновлять текущую запись из базы
- При изменении на сервере ставить флаг-Изменено, а на переходах по записям Клиента проверять этот флаг. Если true, то обновить запись
- Обновлять базу раз в некую единицу времени.

Подскажите, как эта задача решается обычно?

Спасибо всем.
19 июн 03, 12:53    [234913]     Ответить | Цитировать Сообщить модератору
 Re: Согласованность клиентов  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Для начала почитать про оптимистические блокировки.
Смысл в двух словах - у каждой записи есть "версия" , которая наращивается после каждого изменения. При вычитке записи на клиента вычитвывается и версия. При применении изменений версии сравниваются, если не совпадают , то выдается сообщение и предлагается на выбор ХХХ действий от отменить правку до перечитать табличку.
19 июн 03, 13:18    [234950]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить