将Visual Studio 2010与C#WPF项目一起使用。我知道如何使用ADOX命名空间创建Access 2000-2003 db文件。
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数据库?
答案 0 :(得分:1)
如果您指的是数据库密码,而不是需要工作组文件的用户级安全性,则可以更改连接字符串以包含:
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数据库。