【发布时间】:2010-07-30 15:42:06
【问题描述】:
将 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 数据库?
【问题讨论】:
-
数据库密码不是安全的,而是“安全剧场”——它们对于任何实际目的都没有用,应该避免。
-
剧院很有用。 Access 数据库密码是让您在篡改之前进行思考的好方法。
-
我不同意一个例外。如果您使用 MDB/ACCDB 只是通过电子邮件或其他方法向某人发送数据,则 db 密码比 zip 文件密码更好、更强大。但是在多个用户共享后端数据文件的生产应用程序中,使用数据库密码简直是愚蠢的。