создание защищенной паролем базы данных Access - PullRequest
0 голосов
/ 30 июля 2010

Использование Visual Studio 2010 с проектом CF WPF.Я знаю, как создать файл базы данных Access 2000-2003 с использованием пространства имен ADOX.

ADOX.CatalogClass cat = new CatalogClass();
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + _dbPath + ";";
cat.Create(str);
cat = null;

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

conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
       + _dbPath + ";");

//connect to it with a password
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + _dbPath + ";User Id=admin;Password=myPassword;"

Я хочу создать файл защищенный паролем:

ADOX.CatalogClass cat = new CatalogClass();
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" 
+ _dbPath + ";Password=myPassword;";
cat.Create(str);
cat = null;

Это приводит к ошибке во время выполнения:

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

При создании без пароля база данных создается успешно.

Как создать защищенную паролем базу данных Accessс этой стратегией?

1 Ответ

1 голос
/ 30 июля 2010

Если вы имеете в виду пароль базы данных, а не безопасность на уровне пользователя, для которой требуется файл рабочей группы, вы можете изменить строку подключения так:

 Jet OLEDB:Database Password=MyDbPassword;

То есть:

ADOX.Catalog cat = new CatalogClass();
string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" 
+ _dbPath + ";Jet OLEDB:Database Password=MyDbPassword;";
cat.Create(str);
cat = null;

- http://www.connectionstrings.com/access

Используя информацию здесь: http://support.microsoft.com/kb/317881, с некоторыми незначительными изменениями:

ADOX._Catalog cat = new ADOX.Catalog();

cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=PW;" +
       "Data Source=C:\\Docs\\NewMDB.mdb;");

Я могу создать защищенную паролем базу данных Access.

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