Как преобразовать файл .mdb с паролем в файл .accdb с помощью C # - PullRequest
0 голосов
/ 10 января 2019

Я пишу программу на C #, которая, помимо прочего, должна конвертировать защищенную паролем базу данных .mdb Access в защищенный паролем файл .accdb. Функция будет выглядеть примерно так:

public int M2AConvert( string password, string newPath, stringOldPath )

Код, который у меня сейчас есть:

Microsoft.Office.Interop.Access.Application accessApp = new 
Microsoft.Office.Interop.Access.Application();
accessApp.Visible = true;
string sourceFile = oldPath;
string desFile = newPath;
accessApp.SysCmd((Microsoft.Office.Interop.Access.AcSysCmdAction)603, sourceFile, desFile);

Похоже, что это не работает с файлами, защищенными паролем, поэтому вопрос.
Любая помощь будет оценена.

1 Ответ

0 голосов
/ 17 января 2019

Использовал DbEngine со следующим кодом, чтобы разрешить преобразование с паролем:

using Microsoft.Office.Interop.Access.Dao;
...
DBEngine daoEng = new DBEngine();
daoEng.CompactDatabase(dbNameSrc, dbNameDest, LanguageConstants.dbLangGeneral, dbVersion, pwd);

где dbVersion - это dbVersion120 для .mdb в .accdb. Другие типы dbVersion могут использоваться для преобразования между .accdb и .mdb, но имейте в виду, что dbVersion40 предназначен для Jet 4.0, который является самой последней версией поставщика для файлов .mdb.
Все типы преобразования dbVersion перечислены здесь: Документы Microsoft

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...