C# “Microsoft.ACE.OLEDB.12.0”提供程序未在生产服务器上注册

C# “Microsoft.ACE.OLEDB.12.0”提供程序未在生产服务器上注册,c#,asp.net,C#,Asp.net,我正在开发VS2010 asp.net c应用程序 我的项目正在本地计算机上运行,但当我在生产服务器上部署项目时,它会抛出以下错误 “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册 未在我的生产服务器上安装Office,因此不允许安装它。请建议解决此错误 因此,请建议我该怎么做?您需要安装。您需要安装。谢谢您的回答。这对我有用。但它适用于.xlsx文件,如果我选择.xls文件,则会出现以下错误:Microsoft.Jet.OLEDB.4.0的提供程序未在本地计算机

我正在开发VS2010 asp.net c应用程序

我的项目正在本地计算机上运行,但当我在生产服务器上部署项目时,它会抛出以下错误

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

未在我的生产服务器上安装Office,因此不允许安装它。请建议解决此错误


因此,请建议我该怎么做?

您需要安装。

您需要安装。

谢谢您的回答。这对我有用。但它适用于.xlsx文件,如果我选择.xls文件,则会出现以下错误:Microsoft.Jet.OLEDB.4.0的提供程序未在本地计算机上注册。这可能是因为您的应用程序的目标是64位,而xls驱动程序仅适用于32位。一种解决方法是使用32位版本的Access Database Engine 2010,方法是强制.NET应用程序以32位模式运行,例如,在Configuration Manager中选择x86平台。如果它是asp.NET应用程序,则可能必须在中更改应用程序池设置以启用32位应用程序。我将.xls的连接字符串更改为与.xlsx相同,那么它对我来说是有效的。Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};EXCEL2.0XML扩展属性;HDR=是;IMEX=1;'@USER 913947 -如果这个或任何答案已经解决了你的问题,请考虑通过点击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。谢谢你的回答。这对我有用。但它适用于.xlsx文件,如果我选择.xls文件,则会出现以下错误:Microsoft.Jet.OLEDB.4.0的提供程序未在本地计算机上注册。这可能是因为您的应用程序的目标是64位,而xls驱动程序仅适用于32位。一种解决方法是使用32位版本的Access Database Engine 2010,方法是强制.NET应用程序以32位模式运行,例如,在Configuration Manager中选择x86平台。如果它是asp.NET应用程序,则可能必须在中更改应用程序池设置以启用32位应用程序。我将.xls的连接字符串更改为与.xlsx相同,那么它对我来说是有效的。Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};EXCEL2.0XML扩展属性;HDR=是;IMEX=1;'@USER 913947 -如果这个或任何答案已经解决了你的问题,请考虑通过点击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。