打开的Excel电子数据表中.NET在x64系统
问题描述:
使用下面的连接字符串打开的Excel电子数据表中.NET在x64系统
“提供者= Microsoft.Jet.OLEDB.4.0我不能打开Excel电子数据表与.NET在x64服务器上;数据源=“+ filePath +”;扩展属性= Excel 8.0;“
我得到'Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册。
我安装了2007 Office系统驱动程序:数据连接组件和与Microsoft.ACE.OLEDB.12.0与此连接字符串
试图“供应商= Microsoft.ACE.OLEDB.12.0;数据源=” +文件路径+“;扩展属性= Excel 8.0;”
并得到“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。“
我搜索了Google,唯一的答案是它是一个64位的问题,任何人有一个想法如何解决这个问题?
答
你的应用程序需要被设置为32位应用程序运行。这可以通过在Visual Studio配置管理器中将可执行项目的目标平台从AnyCPU更改为x86来完成。
如果要在更改解决方案配置之前测试它如何与您的应用程序配合使用,可以使用corflags.exe实用程序。这只会在您的应用程序名称不强或Authenticode已签名时才起作用,否则您将需要辞职。从Visual Studio命令提示符类型:
corflags.exe <path and exe file name> /32BIT+