Доступ к содержимому файла MDB из .net, если у файла MDB есть пароль - PullRequest
2 голосов
/ 02 февраля 2010

Я создаю оконное приложение на C # и собирался установить пароль для файла mdb MS-Access, чтобы никто не мог открыть этот файл, кроме моего оконного приложения или того, кто знает пароль этого файла.

Мне удалось защитить этот файл паролем, но, к сожалению, я не смог получить доступ к этому файлу через свое приложение. На самом деле я не понимаю, где установить имя пользователя и пароль, чтобы открыть этот файл. Ввод имени пользователя и пароля в строке подключения не работает.

EDIT Извините за небольшую путаницу

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

Edit2: "Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = E: \ Projects \ GargTubes \ dbGargTubes.mdb; Идентификатор пользователя =" "; Пароль =" abc ";"

Я использую MS-Access 03

Редактировать 3:

Provider = Microsoft.Jet.OLEDB.4.0; Data Источник = E: \ Projects \ GargTubes \ dbGargTubes.mdb; Пароль базы данных = abc; "

Provider = Microsoft.Jet.OLEDB.4.0; Data Источник = E: \ Projects \ GargTubes \ dbGargTubes.mdb; JET OLEDB: Пароль базы данных = abc;

Ошибка: не удалось найти устанавливаемый ISAM

Ответы [ 3 ]

3 голосов
/ 02 февраля 2010

Попробуйте установить пароль базы данных в строке подключения:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
3 голосов
/ 02 февраля 2010

Вы можете взглянуть на примеры строк подключения: Строки подключения для Access

2 голосов
/ 02 февраля 2010

Поскольку вы говорите о передаче имени пользователя и пароля, я предполагаю, что вы защитили свою базу данных, установив права пользователя, а не используя опцию «пароль базы данных». В этом случае пользователи и группы хранятся в system.mdw. Обязательно укажите путь к system.mdw в строке подключения (Jet OLEDB:System Database=path\to\system.mdw, см. Строки подключения для Access для примеров).

В качестве альтернативы вы используете функцию «пароль базы данных». Тогда опция Jet OLEDB:Database Password, описанная в других ответах, должна работать. Чтобы объяснить это:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Projects\GargTubes\dbGargTubes.mdb;Jet OLEDB:Database Password=abc
...