База данных Microsoft Jet не может открыть файл «...». Он уже открыт исключительно другим пользователем, или вам необходимо разрешение для просмотра его данных. - PullRequest
6 голосов
/ 01 сентября 2011

У меня есть приложение WinForms, поддержка которого была передана мне, и оно было собрано с использованием Visual Studio 2005 с VB.Net. Приложение использует базу данных Access. Он работает нормально, когда он установлен как отдельное приложение, но установочный компакт-диск для приложения также позволяет выполнять сетевую установку, и именно здесь я в настоящее время сталкиваюсь с проблемами.

Для проверки сетевой установки я создал папку на своем сервере (Windows Server 2003 SP2) и скопировал базу данных Access в эту папку. Я создал общий ресурс для этой папки и дал всем полный доступ к этому ресурсу. Затем на рабочей станции я установил приложение и дал путь к базе данных следующим образом:

\\ MyServer \ MyShare \ mydb.mdb

(Шаги установки здесь в соответствии с инструкциями, приведенными на установочном компакт-диске)

Рабочая станция, на которой я ее установил, - Windows 7 Ultimate. Когда я запускаю приложение, я получаю сообщение об ошибке, указанное в заголовке, когда приложение пытается прочитать файл базы данных. Я подтвердил, что могу писать в общую папку на сервере, поэтому не думаю, что это проблема с разрешениями. Кроме того, файл базы данных вообще не используется, поэтому он определенно не открывается исключительно. Кто-нибудь знает, что может быть причиной этого, и что я могу попытаться сделать, чтобы это заработало?

UPDATE:

Я протестировал установку рабочей станции на компьютере с новой установкой Windows XP SP3, и он без проблем может получить доступ к файлу базы данных. Таким образом, кажется, что эта ошибка, которую я получаю, каким-то образом связана с Windows 7. Возможно, существует известная проблема с драйверами Oledb в Windows 7? Моя версия Windows 7, кстати, 32-разрядная.

Ответы [ 4 ]

0 голосов
/ 30 января 2016

Попробуйте запустить эти вещи ...

  1. Эти компьютеры находятся в домене? Если да, то присоединен ли ящик Win 7 к домену?
  2. Вы установили разрешения при входе в систему на сервере - или вы установили разрешения для общего ресурса на другом компьютере? Установите разрешения на самом сервере.
  3. Из окна Win 7 - убедитесь, что вы можете открыть общий ресурс на сервере 2003 и изменить имя файла доступа (просто в качестве теста - измените его обратно, конечно).
  4. У вас установлен Access на коробке win 7? Если так - посмотрите, можете ли вы получить доступ к общему ресурсу и использовать доступ для открытия .mdb.
0 голосов
/ 04 января 2013

Jet 4.0 не сможет открыть файл Access без набора COM-ссылок «Microsoft ADO Ext 2.8 для DDL и безопасности» в настройках проекта.Чтобы проверить статус ссылок, зайдите: Project -> References -> COM.

Другие важные ссылки для выполнения этой работы:

Ссылка COM «Microsoft ADO Data Control 6.0 (OLEDB)»

«Библиотека объектов Microsoft Access 14.0» Ссылка COM

0 голосов
/ 23 декабря 2015

Иногда Access сообщает об этой ошибке, когда у вас на вашем компьютере есть недопустимый процесс MS Access.Проверьте список процессов диспетчера задач (не приложения).

0 голосов
/ 06 сентября 2011

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

http://walkinghumble.wordpress.com/2009/02/20/cannot-connect-to-an-access-mdb-file-located-on-the-network-through-oledb/

Может быть, это поможет, если основная проблема та же (хотя в моем случае это было приложение ASP.NET). Если нет, то он, по крайней мере, будет продвигать монитор процесса, если вы еще этого не знали.

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