You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET Core 7中无需安装驱动读取.accdb数据库

无需安装Access数据库引擎读取.accdb的可行方案

直接复制ACEODBC.dll单个文件无法生效,因为Access驱动依赖整套组件(注册表配置、配套库等),单独复制dll无法完成驱动的注册与环境配置。针对你的场景,提供以下可行方案:

1. 复用已安装Office的内置ACE驱动

若目标电脑已安装完整版Office(含Access组件),系统本身就自带ACE驱动,无需额外安装Access Database Engine。只需调整程序的平台兼容性,并使用对应连接字符串:

  • 若Office为32位:确保你的.NET Core程序编译目标设为x86,连接字符串保持原有格式:
    var connectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" + path + "/mydb.accdb";
    
  • 若Office为64位:将程序编译目标设为x64(或AnyCPU并关闭“首选32位”选项),连接字符串同上即可。

Office 2016及以上版本的32/64位驱动名称一致,核心是保证程序与Office的位数匹配,否则会出现驱动找不到的错误。

2. 使用第三方开源库直接读取.accdb

如果目标电脑的Office不含Access组件,或版本不兼容,可选择不依赖ACE驱动的第三方库:

  • JetBrains.DataAccess.Access:JetBrains推出的库,支持直接读取.accdb文件,无需安装驱动。示例代码:
    using JetBrains.DataAccess.Access;
    using System.IO;
    
    using var connection = new AccessConnection(Path.Combine(path, "mydb.accdb"));
    connection.Open();
    
    using var command = connection.CreateCommand("Select * from People");
    using var reader = command.ExecuteReader();
    while (reader.Read())
    {
        var name = reader.GetString(0);
    }
    
  • AccDotNet:轻量级.NET库,专注于读取Access数据库,可通过NuGet安装,直接操作.accdb文件,无需依赖ACE引擎。

关键注意事项

  • 切勿手动复制ACE驱动的dll文件,这类操作无法完成驱动的系统注册,必然失败。
  • 选用第三方库时,需确认其支持.NET Core 7版本,以及兼容你的.accdb文件格式版本。

内容的提问来源于stack exchange,提问作者Starchand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:41:12