'提供者= Microsoft.ACE.OLEDB.12.0'提供者没有在本地机器上注册

问题描述:

我试过了一切,从目标x86,下载AccessDatabaseEngine,Microsoft Access数据库引擎2010可再发行组件,到工具 - >选项 - 项目和解决方案 - > Web项目并取消选中“使用IIS Express的64位版本进行网站和项目”。我卸载了我拥有的每个Office应用程序。我下载了Office 2013 32位,所以我有Access 2013,Visual Studio Express 2015 for Web。'提供者= Microsoft.ACE.OLEDB.12.0'提供者没有在本地机器上注册

我有Test.accdb数据库,所以我必须连接槽OleDbConnection。

这是我的代码的一部分是相关的。我已经得到的东西我打开连接后,但它并不重要,因为它甚至没有到达那里:

using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.OleDb; 

namespace FirstTest 
{ 
    public partial class _Default : Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      OleDbConnection connection = new OleDbConnection(); 
      connection.ConnectionString = @"Provider=Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\MyUser\Desktop\FirstTest\App_Data\Test.accdb;Persist Security Info=True;"; 

      connection.Open(); 

      OleDbCommand command = new OleDbCommand(); 
      command.Connection = connection; 


     } 
    } 
} 

后,我建立了项目,我得到“connection.Open()”的错误。

奇怪的是,如果我去服务器资源管理器,右键单击我的数据库,然后点击刷新它把东西放在它上面。每次我建立它都会变成红色。

我有W10 64位。这是进行求职面试的测试,任务非常简单,但我无法测试我迄今为止所做的工作,因为我无法连接到数据库。

+0

请阅读[在什么情况下,我可以在我的问题中添加“紧急”或其他类似的短语,以获得更快的答案?](// meta.*.com/q/326569) - 摘要是不是解决志愿者问题的理想方式,而且可能对获得答案起反作用。请不要将这添加到您的问题。 – halfer

您有Provider=两次,应该只出现一次。

+0

我简直不敢相信。现在它的作品!我想削减我的@#$%。我很确定这不只是这个,但现在我可以连接! – elkaco