【问题标题】:Accessing a password protected MS access database in C# issue在 C# 问题中访问受密码保护的 MS 访问数据库
【发布时间】: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");

我得到错误: '无法启动您的应用程序。工作组信息文件丢失或被其他用户独占打开。 我不确定我在哪里出错了。任何帮助,将不胜感激。

【问题讨论】:

    标签: c# sql ms-access ms-access-2007 oledb


    【解决方案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。
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多