Если я создаю программу на Java, которая постоянно запрашивает и сохраняет данные каждый раз, когда вы нажимаете кнопку, и я устанавливаю эту программу на 30+ компьютерах, каждая программа будет сохранять в одной базе данных Microsoft Access, хранящейся на сервере, все учетные записи будут иметь доступ до, функция программы состоит в том, чтобы получить количество "кликов" в определенном поле активного пользователя, и когда пользователь нажимает снова, он добавляет один к этому числу и сохраняет его снова, используя SQL

Таким образом, вопрос в том, существует ли вероятность того, что цифры могут стать неточными?

Пример базы данных

Имя Фамилия Клики

Джеймс Смит 5

Джон Арг 25

Теперь 30 компьютеров в течение 5-10 секунд отправляют инструкцию на получение и добавление 1 в поле «Клики», где имя «Джон», а фамилия «Арг». Будут ли проблемы с чтением неверных данных или с сохранением точных данных? Или это будет работать правильно и сохранить данные точно

Например

Джон Арг 55

Это небольшой проект для моей школы, который будут использовать все, я просто беспокоюсь, что там могут быть неправильные данные, сохраненные в памяти. Очень важно, чтобы эти данные были точными, если есть проблема с их неточностью, каким образом я могу сделать это туда, где он, на самом деле, сохранить точно. Я вполне уверен, что он должен правильно рассчитывать "клики" из-за того, как работает SQL, просто подумал, что я проверю это дважды, спросив здесь.

1 ответ1

0

Короткий ответ, нет.

Если у вас есть один файл MDB, и вы открываете его как один пользователь, вы блокируете базу данных.

Если вы используете его в качестве серверного приложения и используете внешний источник для подключения к MDB, то серверная версия MDB будет обрабатывать сохранение.

Единственное, что вы получите, - это то, что сохранения помещаются в очередь, и это может привести к тому, что кто-то перезаписывает чужие данные, не видя того, что было обновлено за это время.

Это означает, что вам нужно будет добавить логику, чтобы предотвратить это, или люди смогут обновить это поле, не зная, что кто-то еще обновил его чем-то, пока они это делали.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .