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

Visual Studio 2015添加MS Access 2003数据源失败求助

解决Windows 11下VS2015连接Access 2003数据库的数据源问题
  • 检查并安装Jet驱动
    Windows 11是64位系统,默认不带仅支持32位的Microsoft.Jet.OLEDB.4.0驱动。手动下载Access Database Engine 2010 Redistributable的32位安装包,安装时必须加命令行参数:AccessDatabaseEngine.exe /passive,避免和已安装的64位Office组件冲突。

  • 修复machine.config的DbProviderFactories节点
    打开c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config,确认DbProviderFactories节点下存在Jet驱动的注册项,没有的话添加以下内容,同时检查节点格式是否正确(比如闭合标签是否完整):

    <add name="Microsoft Jet OLEDB Provider" 
         invariant="Microsoft.Jet.OLEDB.4.0" 
         description=".NET Framework Data Provider for Microsoft Jet" 
         type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
  • 设置项目编译平台为x86
    右键项目→属性→生成,把“平台目标”改成x86。因为Jet驱动只支持32位,64位环境下运行会直接导致连接窗口崩溃。

  • 手动写连接字符串测试
    先跳过数据源向导,在代码里直接构造连接字符串测试连通性:

    string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\你的数据库路径\db.mdb";
    using (OleDbConnection conn = new OleDbConnection(connStr))
    {
        try
        {
            conn.Open();
            MessageBox.Show("连接成功");
        }
        catch (Exception ex)
        {
            MessageBox.Show("连接失败:" + ex.Message);
        }
    }
    

    如果能成功连接,说明驱动和配置没问题,再回去试数据源向导。

  • 排查connectionStrings节点异常
    检查machine.config的connectionStrings节点,有没有损坏的配置项(比如未闭合的标签、无效的连接字符串),有异常就暂时注释掉,重启VS再尝试操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:51:14