Не удается открыть .MDB или получить доступ к файлам на подключенном сетевом диске

У меня проблемы с открытием .mdb (доступ 97) на подключенном сетевом диске. Диск в порядке, я вижу это с помощью net use

Я могу открыть файл нормально, если я открою его, используя путь, а не сетевой диск (\ srv10 \ mdb).

Я уже пробовал создать диск с другим пользователем (у всех есть разрешение), но это не помогло.

Это также происходит, если я пытаюсь открыть его в коде (скажем, VB6)

Database path : P:\db.mdb doesn't work.
Database path : \\srv10\mdb\db.mdb works fine.

Кто-нибудь может мне помочь ? Раньше он работал с сетевым диском, а теперь внезапно перестает.


person SilentRage47    schedule 02.01.2017    source источник
comment
почему бы не использовать соединение ODBC?   -  person Beldi Anouar    schedule 02.01.2017
comment
С какой именно ошибкой вы столкнулись? Можно ли открыть файл, вставив путь UNC в сам Access?   -  person Alex K.    schedule 02.01.2017
comment
Я получаю сообщение Не могу найти файл ... * путь * каждый раз, когда пытаюсь открыть его из подключенного драйвера. Нет проблем, когда я открываю его, используя полный путь (\\ srv10 \ ...) как в Windows10, так и в VB6.   -  person SilentRage47    schedule 02.01.2017
comment
Попробуйте запустить VB6 с опцией «Запуск от имени администратора», а затем отладьте код, чтобы проверить, появляется ли по-прежнему ошибка.   -  person Mukul Varshney    schedule 03.01.2017


Ответы (1)


Это связано с идентификатором, под которым выполняется код. Вы сопоставили диск в своем собственном пользовательском контексте, но фактический пользовательский контекст, в котором запускается скрипт или код VB, - это другой (локальный компьютер?), Где такое сопоставление отсутствует.

Вы также можете

  • подключите сетевой диск на системном уровне, или
  • сценарий сопоставления дисков как часть вашего процесса, или
  • используйте пути UNC или
  • запустите процесс как локальный администратор.
  • примените редактирование реестра здесь technet.microsoft.com/en -us / library / ee844140 (v = ws.10) .aspx

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

Редактирование реестра объясняется по ссылке, но суть такова:

Симптом: после включения контроля учетных записей пользователей (UAC) в Windows Vista или Windows 7 программы могут не иметь доступа к некоторым сетевым папкам. Эта проблема также может возникнуть при использовании командной строки для доступа к сетевому расположению.

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

Решение. Чтобы обойти эту проблему, настройте значение реестра EnableLinkedConnections. Это значение позволяет Windows Vista и Windows 7 совместно использовать сетевые подключения между отфильтрованным маркером доступа и маркером полного доступа администратора для члена группы администраторов. [Затем дается процедура редактирования реестра]

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

[Отредактировано для полноты после того, как OP опубликовал решение для редактирования реестра].

person Vanquished Wombat    schedule 02.01.2017
comment
Однако не используйте этот взлом реестра. Лучше сопоставить букву диска для каждого профиля, который в ней нуждается, или использовать путь UNC. - person Bob77; 06.01.2017