从 c# 连接访问数据库

Posted

技术标签:

【中文标题】从 c# 连接访问数据库【英文标题】:Connect Access Database from c# 【发布时间】:2014-04-14 10:06:15 【问题描述】:

我正在尝试打开 Access 数据库。

OleDbConnection conn = null;
OleDbDataReader reader = null;


conn = new OleDbConnection(
    "Provider=Microsoft.ACE.OLEDB.12.0; " +
    "Data Source=" + @"C:\test.accdb");
conn.Open();

但在 conn.Open 上,我遇到异常 - 无法识别的数据库格式“C:\test.accdb”

我用 Access 2010 创建了这个数据库。所以,我尝试使用这个来访问这个数据库: http://www.microsoft.com/en-us/download/details.aspx?id=13255 但后来我收到异常“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。” 现在我正在尝试这个:http://www.microsoft.com/en-us/download/details.aspx?id=23734 并得到这个无法识别的数据库格式异常。

【问题讨论】:

【参考方案1】:

试试这个

OleDbConnection Con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb");

【讨论】:

您能否扩展此答案以解释此解决方案为何有效? 它对你有用吗? 我没有验证正确性所需的设置。我的评论是关于答案的上下文。您应该解释它,以便该网站的未来访问者知道为什么这是正确的答案。 我假设转义字符串(带有@)被添加到未转义字符串中,形成一个未转义字符串,然后在 OleDbProvider 解释它时出错。

以上是关于从 c# 连接访问数据库的主要内容,如果未能解决你的问题,请参考以下文章

带有 MySQL 连接器的 C# - 访问被拒绝

如何在 C# 中打开访问数据库?

从 C# 连接到 .accdb。 “无法识别的数据库格式”错误

C#访问MySQL:连接查询

C#访问MySQL:连接查询删除(查删)

C#访问MySQL:连接查询删除(查删)