1

У меня невероятно простая база данных Access. У него есть один сквозной запрос и все (без таблиц). Запрос просто выполняет хранимую процедуру для базы данных SQL Server для отображения результатов. Там не будет никаких данных, сохраненных в базе данных Access; он будет использоваться только для отображения результатов хранимых процедур.

Я поставил базу данных на сетевой ресурс. Если у меня есть открытая база данных Access, никто из моих коллег не сможет открыть базу данных для просмотра данных. Они получают ошибку: "Не удалось заблокировать файл".

Как я могу позволить нескольким пользователям открывать файл Access и просматривать результаты запроса?

2 ответа2

1

Как я могу позволить нескольким пользователям открывать базу данных доступа на сетевом ресурсе?

Совместное использование базы данных с помощью сетевой папки

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

  • Ожидается, что одновременно использовать базу данных будет не более нескольких человек.

  • В базе данных отсутствуют поля Memo, иначе они не будут одновременно обновляться разными пользователями.

  • Пользователям не нужно настраивать дизайн базы данных.

Примечание. Этот метод менее безопасен, чем другие методы совместного использования базы данных, поскольку у каждого пользователя есть полная копия файла базы данных, что увеличивает риск несанкционированного доступа.

Для совместного использования базы данных с помощью сетевой папки

  1. Если он еще не доступен, настройте общую сетевую папку.

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

  2. Убедитесь, что Access установлен на общий доступ на всех компьютерах пользователей. Это настройка по умолчанию, но вы должны убедиться, что если пользователь откроет базу данных в монопольном режиме, это помешает другим использовать данные. Выполните следующую процедуру на каждом компьютере:

    • Начать доступ.

    • Нажмите на кнопку Microsoft Office. Изображение кнопки «Office», а затем нажмите «Параметры доступа».

    • На левой панели диалогового окна «Параметры доступа» нажмите «Дополнительно».

    • На правой панели диалогового окна «Параметры доступа» в разделе «Дополнительно» в разделе «Режим открытия по умолчанию» выберите «Общий доступ».

    • Нажмите OK, а затем выйдите из Access.

  3. Скопируйте файл базы данных в общую папку. После копирования файла убедитесь, что атрибуты файла установлены так, чтобы разрешить доступ на чтение / запись к файлу базы данных. Пользователи должны иметь права на чтение / запись для использования базы данных.

  4. На компьютере каждого пользователя создайте ярлык для файла базы данных.

    Когда вы вводите путь к файлу базы данных в свойстве Target ярлыка, используйте адрес UNC вместо буквы подключенного диска. Например, вместо F:\sample.accdb используйте \computername \shared.accdb.

    Примечание. Этот шаг также может быть выполнен самими пользователями.

Источники Способы совместного использования базы данных Access

0

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

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

Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = C:\mydatabase.mdb; Mode = Share Exclusive; Идентификатор пользователя = admin; Пароль =;

https://www.connectionstrings.com/access/

Также в этой теме есть некоторая интересная информация об использовании "режима" https://social.msdn.microsoft.com/Forums/en-US/c90b1166-e5ee-43ff-a49b-9efe9f416475/opening-an-ms-access-database- в-эксклюзивном режиме, используя-adonet? Форум = adodotnetdataproviders

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