Задать вопрос
Ответы пользователя по тегу Microsoft Access
  • Как решить проблему организации многопользовательской работы с базой данных Microsoft Access?

    master_z
    @master_z
    Программист
    Скорее всего ты настраиваешь подключение в Access у каждого клиента в монопольный доступ, а нужно в не монопольный. Тогда твой вариант окажется рабочим. Но это для небольшого количества клиентов и базы данных. Некий простой вариант. Кроме того это делает данные открытыми, лёгкими для взлома, в результате любой может скопировать файл базы данных и взломать её. Если это внутри в локальной сети для нескольких пользователей, то можно расшарить. Иначе нужно искать клиент-серверные решения. Чтобы как-то защитить данные нужно разрабатывать подключение со скрытым паролем. Т.е. должна быть база данных запаролена, и только программа-клиент должна знать пароль.
    Это моё минимальное видение ситуации.
    Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\SERVER\Share\DB.accdb; Jet OLEDB:Database Locking Mode=0; Persist Security Info=False;   
    ' Shared режим (общий), минимальные блокировки — классический многопользовательский режим Access
    
    Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\SERVER\Share\DB.accdb; Jet OLEDB:Database Locking Mode=1; Persist Security Info=False;   
    ' Optimistic Locking (рекомендуется) — пользователи не блокируют записи друг другу, меньше конфликтов
    
    Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\SERVER\Share\DB.accdb; Jet OLEDB:Database Locking Mode=0; OLE DB Services=-1;   
    ' Общий режим + пула соединений — быстрее при множестве коротких запросов
    
    Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\\SERVER\Share\DB.accdb; Jet OLEDB:Database Locking Mode=1; Jet OLEDB:Database Password=123;   
    ' Оптимистические блокировки + пароль базы
    
    Provider=Microsoft.ACE.OLEDB.16.0; Data Source=\\SERVER\Share\DB.accdb; Jet OLEDB:Database Locking Mode=1;   
    ' Оптимистические блокировки (движок ACE 16 — Office 2019/2021/365)
    Ответ написан
    Комментировать