Разрешены ли не символы в пароле БД MS Access?
Мне было поручено восстановить утерянный пароль в базе данных MS Access, которая поставляется с программным обеспечением.
Я попробовал инструмент для этого, но возвращаемая строка выглядит испорченной, включая "символы", такие как: †‡Δ и другие, которые не кажутся реальными символами вообще. Однако файл базы данных не поврежден, поскольку прилагаемое к нему программное обеспечение без проблем получает данные из этой базы данных.
Затем я попытался внедрить приложение во время выполнения, после того как оно загрузилось и установило соединение с БД. Приложение использует Enterprise Library, поэтому в моей полезной нагрузке я звоню:
new DatabaseConfigurationView(ConfigurationManager.GetCurrentContext())
и из него мне удалось получить пароль БД, который находится в памяти приложения, и я знаю (из анализа декомпилированного кода), что он используется приложением для успешного извлечения данных из БД. Оказывается, это та же самая искаженная строка, которую дал мне инструмент.
Если я попытаюсь открыть базу данных с помощью приложения Microsoft Access (Office), окно пароля даже не примет строку. Ctrl+v игнорируется, но работает при вставке строки допустимых символов.
Возможно ли, что эта строка, включающая не символы, является действительным паролем, или я что-то здесь упускаю?
Имейте в виду, что у меня нет опыта работы с базами данных Enterprise Library или Access.
1 ответ
Следуя заверениям и советам Panagiotis Kanavos, я написал отдельное приложение для подключения к БД с использованием этого странного пароля, и это сработало. Затем я изменил пароль с:
OleDbCommand command = conn.CreateCommand();
command.CommandText = @"ALTER DATABASE PASSWORD [newpass] [oldpass]";
command.ExecuteNonQuery();
и теперь я могу открыть базу данных с MS Access.
Спасибо за помощь.