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



情景:本人想把xlsm文件导入到数据库中,但是
 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;"; 
是office2003的连接,只适用于excel.xls,连excel.xlsx都不是用。所以我需要找一个office2007的连接。

 string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" +  excelFile  + ";" + "Extended Properties='Excel 12.0;IMEX=1';";
但是这时候出现以下错误:
未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
问题描述:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。

环境:【win7 64bit 专业版】【Vs2010专业版】【Office 2010专业版】
查资料发现:


看office 是安装什么版本...
如果 你打开一个access,在任务管理器中看到 msAccess.exe *32 , 你还是将你程序的调试和编译平台换成 x86, 
X64 的Exe 调用 X86 的数据驱动程序 ,好像是不行。
X86 的Exe 调用 X64 的数据驱动程序, 好像是可以,向下兼容...

你安装 AccessDatabaseEngine,如果你的access 是 X86, 就算是你装 AccessDatabaseEngine X64 又有啥用,AccessDatabaseEngine 主要是解决没有安装 office 的机器上的还能够支持access数据访问...   

于是我把目标平台改成x64,成功解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值