• 导航

【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

内容摘要:【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

#报错原因:
 
  主要有以下几种原因:
 
  1、没有安装数据访问组件,需要安装相应版本的数据访问组件(AccessDatabaseEngine);
 
  2、没有安装相应版本的Office客户端,需要安装相应版本的Office客户端;
 
  3、没有在IIS应用程序池配置默认属性,需要在相应的IIS应用程序池启用32位应用程序;
 
  4、连接字符串的问题。采用Microsoft.Jet.OleDb.4.0,可以读取excel2007以前的版本,在客户机上不需要部署office,采用Microsoft.Ace.OleDb.12.0的时候,需要安装引擎。
 
  5、顺便说一下,在使用“Microsoft.Jet.OLEDB.4.0”,也会报类似错误,原因有可能是,Microsoft.Jet.OLEDB.4.0在64位系统上不支持,需要修改架构,从x64改为x86,无论是WinForm还是ASP.NET;或者修改连接字符串为Microsoft.ACE.OLEDB.12.0并且安装AccessDatabaseEngine x64数据访问组件;
 
#解决方案:
适用于office2010的
 
  Microsoft Access Database Engine 2010 Redistributable
  https://www.microsoft.com/zh-CN/download/details.aspx?id=13255
 
  此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007/2010 Office system 文件中读取数据,例如从 Microsoft Office Access 2007/2010(mdb 和 accdb)文件以及 Microsoft Office Excel 2007/2010(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。
  此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

 


您可能还会对下面的文章感兴趣: