[英]ssis microsoft.ace.oledb.12.0 error in Visual Studio 2008
[英]No solution for 'Microsoft.ACE.OLEDB.12.0' error
我在一个控制器中遇到了MVC C#应用程序的问题。
以下代码继续给出错误:
*The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.*
代码如下:
var excel = new ExcelQueryFactory("~/App_Data/uploads/" + tempName);
var usersForImport = from c in excel.Worksheet<User>()
select c;
int count = usersForImport.Count();
for (int i = 0; i < count; i++)
{
User user = new User();
user = usersForImport.Skip(i).First();
db.Users.Add(user);
db.SaveChanges();
}
我已经尝试过以前帖子中的2个解决方案,因为我认为这个问题是相同的,但它们并没有解决问题。
我尝试过的两个解决方案是安装Microsoft Access数据库引擎或为x86设置目标平台。
代码依赖于'linqtoexcel'包。
还有其他人遇到过这些问题吗? 有解决方案吗
对于64位应用程序,有两种版本的ACE驱动程序可用:
适用于Office 2007的http://www.microsoft.com/en-us/download/details.aspx?id=23734
适用于Office 2010的http://www.microsoft.com/en-us/download/details.aspx?id=13255
我相信Office 2007版本有ProgId'Microsoft.ACE.OLEDB.12.0',所以我会试试这个而不是Office 2010,我认为它有ProgId'Microsoft.ACE.OLEDB.14.0'。
根据您的描述,看起来linqtoexcel包可能依赖于Office 2007版本。
我已经在Build选项卡的项目属性中解决了这个问题。 我已将平台目标从x64更改为x86
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.