2013-12-23 4 views
2

Я использую базу данных MS Access для хранения данных для настольного приложения. На этой неделе меня попросили предоставить доступ к приложению некоторым дополнительным пользователям, но всякий раз, когда они запускают приложение, они получают сообщение об ошибке:MS Access/accdb Ошибка «Не удается открыть базу данных» (C#)

Невозможно открыть базу данных ''. Это не может быть база данных, которую распознает ваше приложение, или файл может быть поврежден.

Я просмотрел 5 страниц результатов поиска Google, пытаясь найти решение и ничего не придумать. Каждый ответ, который я могу найти по этой проблеме, - это ограничение 2 ГБ (которое нигде не находится рядом) или повреждение (это не так, потому что только две новые пользователи получают эту ошибку, а все остальные - в порядке).

Это моя строка соединения:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Path];Jet OLEDB:Database Password=[Password];" 

Я уверен, что это связанно с компьютерами пользователей что-то отсутствует, но я не могу понять, что и где они могут получить его из. Пожалуйста, порекомендуйте.

+0

Где хранится строка подключения? В файле конфигурации? Если в файле вы уверены, что у них есть доступ к нему? – Brian

+0

@Brian Он не сохраняется в файле конфигурации. Доступ к строке подключения не является проблемой. –

+0

Является ли ваш db на сетевом ресурсе? Вы проверяли разрешения на чтение и запись для этих новых пользователей? – Steve

ответ

4

Ваша строка подключения указывает, что вы используете драйвер Microsoft.ACE.OLEDB.12.0.

Это должно быть установлено на машине, так как оно не имеет окон.

Вы можете найти драйвер в Microsoft Access Database Engine 2010 Redistributable

+0

У меня есть пользователь, попробуйте это сейчас. –

+0

Если этот провайдер не был установлен, сообщение об ошибке должно быть «поставщик не найден». – HansUp

+0

@HansUp Вероятно, вы правы, но при условии, что база данных возвращает пустую строку, что, казалось, указывает на какую-то проблему с машиной.Если он успешный на одном компьютере, а не другой, и его не разрешает, возможно, его коррумпированная установка драйвера. – paqogomez

Смежные вопросы