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
相关产品推荐
相关产品推荐

