По независящим от меня причинам мне приходится иметь дело с новым файлом Access MDB, который загружается, расшифровывается и распаковывается каждый месяц с помощью автоматизированного процесса, который я написал.Несмотря на шифрование PGP, отправитель (страховая компания) отказывается отправлять MDB без защиты паролем.
К сожалению, сразу после загрузки файла он обрабатывается и, как предполагается, не имеет пароля, поэтому эти файлы не обрабатываются из-за исключения OleDbException, показывающего, что у нас неправильный пароль.Мы знаем пароль и знаем о параметре «с паролем базы данных» для строк подключения:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
Это решает только часть проблемы, поскольку другой отдел должен получить доступ к файлам позже, и они нене знаю парольДо сих пор я смог заставить его работать, удерживая Shift, пока я открываю файл, отменяю при запросе пароля, открываю файл снова через открытый процесс доступа, удерживая Shift снова и нажимая «Открыть эксклюзивно», продолжаяудерживать Shift при прохождении через диалоговое окно пароля, а затем сбросить пароль с помощью инструментов безопасности.
Я хотел бы просто программно сбросить пароль БД в файле MDB, как только он будет загружен, с помощьюC #.Есть ли способ сделать это, или я должен лично вмешиваться каждый раз, когда мы получаем новый файл, полностью нарушая цель автоматизации?