首页 > 解决方案 > 连接到 MS Access(accdb) 数据库的问题

问题描述

我需要在我的 C# 应用程序中使用 OdbcConnection 类连接到 MS Access 数据库(*.accdb)。

以下是我尝试过的代码:

string connetionString = "Driver={Microsoft Access Driver (*.accdb)};DBQ=C:\\Temp\\Database4.accdb";

OdbcConnection myConnection = new OdbcConnection(connetionString);

try
{                   
    myConnection.Open();

    myConnection.Close();
}
catch (Exception ex)
{
}

但它在 myConnection.Open() 调用中出现以下异常。

“错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序”

但是如果我使用如下连接字符串,上面的代码适用于 .mdb 文件:

string connetionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\\Temp\\Database4.mdb";

但我的要求是连接到 .accdb 文件。

知道我的代码或连接字符串格式有什么问题吗?

标签: c#ms-access

解决方案


我使用以下代码让它工作:

    const string connetionString = @"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\Temp\Database4.accdb";
    OdbcConnection myConnection = new OdbcConnection(connetionString);
    myConnection.Open();
    myConnection.Close();

    Console.WriteLine("Done.");
    Console.ReadLine();

但它仅适用于 x86 配置,不适用于 x64 配置。对于 x64 配置,我们必须使用 OleDbConnection 类。

谢谢你们..


推荐阅读