【问题标题】:how to open access database with password in C#?如何在 C# 中使用密码打开访问数据库?
【发布时间】:2010-03-09 19:46:59
【问题描述】:

如何在 c# 中使用密码打开 MS Access 2007 数据库?

我试过这个:Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\BioDB.mdb ;Password=1966;");

但它不起作用。

【问题讨论】:

  • 您收到的确切错误信息是什么?无法打开该数据库的可能原因有很多。
  • 作为旁注,我个人最喜欢的一个是完全没有 x64 提供程序。我真的不喜欢访问。
  • 您可以使用适用于 x64 的 Access 2010 beta,驱动程序现已可供下载。
  • 在没有发布 64 位 Access 的情况下,为什么会有 64 位 Jet/ACE?如果需要 64 位,为什么选择不支持 64 位的数据存储?对我来说看起来像是飞行员错误,而不是数据库引擎或 MS 的支持。

标签: c# ms-access ms-access-2007 connection-string


【解决方案1】:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;

发件人:

http://www.connectionstrings.com/access

如下所述,使用@

【讨论】:

  • 用户名怎么样?
【解决方案2】:

您需要转义该反斜杠,或在字符串前面加上@

【讨论】:

  • 呃,什么反斜杠需要转义?在什么情况下?
  • 原帖中唯一的反斜杠;在 C# 字符串的上下文中。
  • 好的。 C# 程序员会理解这一点,但我认为最好在答案中更明确地指定您要解决的问题。
  • OP 声明他们正在使用 C#,并且问题被标记为 C#。我觉得一直说语言有点多余。
  • 我认为你对你的读者以及你的答案可能被阅读的背景假设太多了。
【解决方案3】:

试试这个:

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=BioDB.mdb;Jet OLEDB:Database Password=1966;"

【讨论】:

  • 用户名怎么样?
【解决方案4】:

这是当您使用 Access 中的“设置数据库密码”功能使用密码保护 Access 2007 - 2013 数据库时使用的连接字符串。

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;
Jet OLEDB:Database Password=MyDbPassword;

一些关于密码长度超过 14 个字符的问题的报告。还有一些字符可能会引起麻烦。如果您遇到问题,请尝试将密码更改为具有正常字符的短密码。

【讨论】:

    猜你喜欢
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多