[转载] The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local Machine 完美解决

本文解决了一个常见的问题,即在使用Visual Studio 2010连接Access 2010数据库时遇到的连接失败。问题的根源在于项目设置中TargetCPU被默认设置为x86,导致程序寻找32位的引擎。通过将TargetCPU设置为AnyCPU,可以确保程序正确地连接到64位的ACE引擎。

摘自:http://blog.youkuaiyun.com/puncha/article/details/7434308

以前遇到过相似的问题,是ACCESS JET引擎没有注册,那是因为Office 2010 x64是没有JET 4.0引擎了,但是我已经该用了ACE 12了,为什么还是有问题了?网上找了很多资料,都不能解决问题!都说,需要安装一个DataEngine x86。。

 

最终,终于找到问题所在,VS创建的项目,会默认把TargetCPU设置成x86,那么会强制让编译出来的程序变成32位的,当然应用程序就会去找32位的引擎了,最终把TargetCPU设置成Any CPU完美解决问题!!!

VS2010连接Access2010. 连接代码。

 try
            {
                
                string strCon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Documents\Student.accdb";
                OleDbConnection myConn = new OleDbConnection(strCon);
                myConn.Open();
                label1.Text = "数据库连接成功!";
                myConn.Close();
            }
            catch
            {
                label2.Text =("数据库连接错误,错误");
            }

 

转载于:https://www.cnblogs.com/piaoyao/p/3591597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值