【发布时间】:2015-07-16 00:06:33
【问题描述】:
我们发现,如果我们使用 Microsoft.ACE OLEDB 提供程序从安装了 32 位版本 Office 的 64 位计算机读取 Excel 文件,如果为“AnyCPU”平台构建,则会引发异常.
“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。
solutions posted here 似乎都是关于将构建平台更改为 x86,或者在用户机器上安装 64 位数据访问组件,这对我们来说都不是理想的解决方案。
有没有其他方法可以通过c#代码确保读取32位版本的OLEDB数据提供者?
示例代码:
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.xlsx;Extended Properties=Excel 8.0;";
using(OleDbConnection connection = new OleDbConnection(connString))
{
connection.Open(); // exception here
}
【问题讨论】: