“Microsoft.ACE.OLEDB12.0”提供程序未在本地计算机上注册

时间:2013-11-05 20:34:34

标签: c# visual-studio-2010

我在一周前在Visual Studio 2010项目中收到此错误。我找到了this线程,它有正确的解决方案。我不得不下载2007访问数据库引擎,我不再收到此错误。

本周,我正在做一个新项目并收到完全相同的错误。在旧项目上,我没有。我卸载了下载的程序,最初让它工作。试过这两个项目,没有人工作,这应该是什么。重新启动计算机,再次安装程序,然后重新启动计算机。我尝试了新项目,但它仍无法正常工作。尝试旧的,它仍然有效。

所以我回到线程并注意到在第二步他说“在VS中点击添加数据源,按照向导”。我没有这样做是为了让它与我的第一个项目一起工作。所以我尝试了,但我仍然收到错误。赔率是,我没有正确地做到,所以如果我在这里得到帮助,那就太好了。我将详细说明我最初在不起作用的地方所做的步骤。

  1. 转到数据,然后添加新数据源
  2. 选择数据库,点击下一步
  3. 选择数据集,点击下一步
  4. 新连接>浏览数据库文件>空白用户名和密码>点击确定>点击下一步
  5. 出现提示“您选择的连接使用当前项目中不存在的本地数据文件。是否要将文件复制到项目中并修改连接?如果将数据文件复制到项目中,每次运行应用程序时都会将其复制到项目的输出目录中。按F1键获取有关控制此行为的信息。“ >选择是
  6. “是否要将连接字符串保存到应用程序配置文件中?” >是的,将文件另存为DBConnectionString>选择下一个
  7. “您想在数据集中使用哪些数据库对象?” >我选择了我在这个项目中使用的仅有的两个表>光洁度
  8. 我只想说,对于我的第一个工作项目,数据库就在我的文件夹中,而不是实际添加到项目中并且它有效。对于上面的步骤5,我选择了yes和no来将数据文件添加到我的项目中。无论哪种方式,它都不起作用,即使我说不,它仍然将文件添加到我的项目中。

    很抱歉,回复很久。认为拥有所有细节会很有帮助。任何帮助赞赏。 5.

2 个答案:

答案 0 :(得分:0)

我无法解释原因,但它现在正在运作。

我删除了添加数据源的过程;我不需要它。我有一个应用程序配置文件,用于配置设置等。我删除了这段代码,复制了旧代码中的代码,然后将其保存在新项目中。我保存了这个项目。我跑了,现在问题消失了。

代码完全相同,所以我不明白为什么。虽然我的SQL语句出现了问题。就好像没有显示错误消息,并且出于某种原因,上面提到的错误消息是相反的。我不明白,但它现在有效,我什么都没做。

如果您不知道我所指的配置文件,我的代码如下。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key ="DBConnectionString"
         value = "Provider = Microsoft.ACE.OLEDB.12.0; Password = ; User ID = ; Data Source = "/>
  </appSettings>
</configuration>

答案 1 :(得分:0)

MDAC和构建目标存在已知问题,例如,如果您使用的是64位计算机且项目目标是x86,则必须安装适用于x86的MDAC,但如果您定位任何CPU,则需要x64版本安装。如果您的项目从未构建,则系统可能存在确定将需要哪个版本的MDAC的问题。如果有疑问,您可能应该只在机器上安装x86和x64版本,以确保安全。可以找到MDAC 2010 here