Как узнать, изменены ли данные MS Access? - PullRequest
0 голосов
/ 29 июня 2018

Я делаю вид, что добавляю записи в базу данных MS из Java. Я смог сделать это с помощью Jackess, но по любой причине программное обеспечение, использующее эту базу данных, не видит данные до тех пор, пока 1 закройте и снова откройте программное обеспечение, или 2 открыть базу данных с помощью MS Access и закрыть ее независимо от изменения данных

это программное обеспечение представляет собой POS. Когда я вношу записи с любого из терминалов, они видны с другого, когда я ввожу записи из MS Access, они видны с любого терминала, мне не нужно закрывать и повторно открывать программное обеспечение , Однако, если я ввожу записи из моего Java-приложения, оно не отображается автоматически.

Есть ли какой-либо флаг в файле .mdb для уведомления об изменении данных?

Спасибо

1 Ответ

0 голосов
/ 13 июля 2018

Я думаю, что писать с использованием jackccess в многопользовательской среде опасно

Это так. Jackcess не следует использовать для записи в файл базы данных Access, если у вас несколько одновременных пользователей.

Ваша система POS и сама Access используют Access Database Engine для управления одновременными пользователями. Несмотря на то, что на каждом компьютере запущена своя копия Access Database Engine, эти копии работают совместно для отслеживания изменений в файле базы данных.

С другой стороны, Джекцесс вообще не использует Access Database Engine; он записывает непосредственно в файл базы данных Access. У него нет практического способа узнать, что другие процессы могли сделать с файлом, и у него нет практического способа сообщить тем другим процессам, что он изменил файл.

Вывод: если в вашей среде несколько одновременно работающих пользователей, не используйте Jackcess для обновления базы данных.

...