问题:“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册”? [复制]
Posted
技术标签:
【中文标题】问题:“\'Microsoft.ACE.OLEDB.12.0\' 提供程序未在本地计算机上注册”? [复制]【英文标题】:Problem: "The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine"? [duplicate]问题:“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册”? [复制] 【发布时间】:2015-08-05 09:45:18 【问题描述】:我在 Visual Studio 2013 x64bit 中使用 asp.net 执行我的网站时遇到了这个问题。我无法连接我的数据库访问以获取数据。
我被屏蔽了!
【问题讨论】:
问题是我的数据库扩展与我的 office 版本不兼容。我将 .accdb 转换为 .mdb 并且它可以工作,谢谢 :) 【参考方案1】:解决错误“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。当您尝试在 C# 或 VB.Net 中使用 OLEDB 连接来使用 Excel 2007 或更高版本或 Access 2007 或更高版本的文件时,会发生此错误。
这仅适用于 Office 2007 或更高版本,因为它需要使用 OLEDB ACE 驱动程序进行连接,这在 Windows 中默认不提供,因此我们需要安装它们以消除此错误。
下载 Office System 驱动程序
您需要访问以下下载链接来下载 2007 Office System 驱动程序:数据连接组件。
http://www.microsoft.com/en-in/download/details.aspx?id=23734
我不确定,但这些驱动程序在我看来是 32 位 (x86) 架构,并且适用于大多数人。如果您仍然遇到错误,我建议您使用以下下载链接下载 Microsoft Access Database Engine 2010 Redistributable。
http://www.microsoft.com/en-us/download/details.aspx?id=13255
点击下载后,它会提示您选择架构,即 32 位 (x86) 或 64 位 (x64)。
现在我在这里选择了 64 位 (x64),因为我的系统是 64 位,但安装后我仍然遇到同样的错误。因此,我决定进一步调查并发现我的 Visual Studio 2010 是来自任务管理器的 32 位 (x86) 架构。下面的截图显示文件 devevn.exe*32.
参考:http://www.aspsnippets.com/Articles/The-MicrosoftACEOLEDB120-provider-is-not-registered-on-the-local-machine.aspx
【讨论】:
谢谢你..我看到我必须安装VS2013 x64bit..我会尝试这个解决方案然后回复你结果:) 在你的祈祷中记住我 vakeel ..我没有得到结果..我仍然有同样的问题! :'( .. 但我会在祈祷中记住你^^【参考方案2】:尝试将 cpu 目标更改为 x86。
在 VS 中右键单击您的项目解决方案,然后点击属性并转到调试选项卡,在平台命运上选择 x86,保存并生成您的项目。
【讨论】:
但我必须使用 x64 因为我的 windows x64 好的,但是,可能是您在 PC 上安装的 MS Access,它是用于 x86 平台的,如果是,请尝试我的提示。 我已经在使用 Ms Access x64 :'( 试试上面@vakeel 的提示 是的,是的,我会尝试..谢谢大家(y)以上是关于问题:“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft.Jet.OLEDB.4.0 与 Microsoft.ACE.OLEDB.12.0,我应该使用哪个?
Microsoft.ACE.OLEDB.12.0 提供程序未注册
问题:“'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册”? [复制]
Microsoft.ACE.OLEDB.12.0 尚未注册”错误
我们可以将“Microsoft.ACE.Oledb.12.0.dll”的引用添加到项目中吗
将连接字符串从 Microsoft.Jet.OLEDB.4.0 转换为 Microsoft.ACE.OLEDB.12.0 提供程序