在 C# 问题中访问受密码保护的 MS 访问数据库
Posted
技术标签:
【中文标题】在 C# 问题中访问受密码保护的 MS 访问数据库【英文标题】:Accessing a password protected MS access database in C# issue 【发布时间】:2014-05-29 14:55:06 【问题描述】:我正在尝试使用 DAO 在 C# 中连接受密码保护的数据库。我之前在未受保护的数据库中正常工作的代码。现在,当尝试通过添加默认密码连接到数据库时,它不起作用。
var dbe = new DBEngine();
dbe.DefaultPassword = "abc123";
Database db = dbe.OpenDatabase(@"C:\Users\x339\Documents\Test.accdb");
我得到错误: '无法启动您的应用程序。工作组信息文件丢失或被其他用户独占打开。 我不确定我在哪里出错了。任何帮助,将不胜感激。
【问题讨论】:
【参考方案1】:好吧,我不建议再使用 DAO,但如果必须,请使用以下代码:
var dbe = new DBEngine();
var databaseFile = @"C:\Users\x339\Documents\Test.accdb";
var password = "abc123";
Database db = dbe.OpenDatabase(databaseFile, False, False, string.Format("MS Access;PWD=0", password));
【讨论】:
+1 获取有关方法的建议。使用 OleDb...见:msdn.microsoft.com/en-us/library/… 完美运行,谢谢。在我接受答案之前,您为什么建议反对 DAO?你能链接到一些替代品吗?如果可能的话和文档。 好吧,我首先要问的是,当 SQL Express 免费时,您是否真的需要使用 Access。以上是关于在 C# 问题中访问受密码保护的 MS 访问数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中访问 Windows 中受密码保护的网络驱动器?