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

摘自:http://blog.csdn.net/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 =("数据库连接错误,错误");
            }

 

posted @ 2014-03-10 13:22  飞过不留恨@  阅读(264)  评论(0编辑  收藏  举报