Доступ к базе данных уже открыт исключительно другим пользователем - PullRequest
5 голосов
/ 22 ноября 2011

У меня есть база данных доступа, которая находится на сервере x iis работает на сервере y.Одна из моих веб-страниц имеет доступ к данным из базы данных доступа.Если у кого-то есть открытая база данных доступа, скажем, о том, что конечный пользователь в нашей сети не работает, веб-страницы ... уже открыты исключительно другим сообщением об ошибке пользователя.

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

Так как он выдает ошибку во время моей команды connection.open, я полагаю, что это либо разрешение, либо что-то еще, что мне нужно добавить в строку подключения.Я предоставил полный контроль над IIS AppPool \ в локальном каталоге, в котором находится мой локальный экземпляр базы данных доступа, но, похоже, ничего не изменилось.

Моя строка подключения выглядит следующим образом:

Private Shared connSheriff As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverx\directory\Access\MyDatabase.mdb;Jet OLEDB:Database Password=property;")

1 Ответ

1 голос
/ 29 ноября 2011

В mdb есть несколько опций , которые изменяют способ открытия базы данных по умолчанию, это должен быть ваш первый порт вызова, в частности, для установки "режима открытия по умолчанию" на "расшаренный".

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

Существует переключатель командной строки (/ excl), который устанавливает эксклюзивный режим, но вы простоопустите это, чтобы открыть общий доступ к БД, поэтому я сомневаюсь, что это проблема.

Вы, вероятно, уже знаете это, но модификатор " Shared " не имеет ничего общего с общим доступом между приложениями или пользователями, норазделяет переменную соединения между экземплярами вашего класса (эквивалент c # - «статический»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...