1

我遇到了这个异常:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。

我试图用 OleDBConnection 连接 Excel 2010 文件。我有 Windows 7 64 位和 Office 2010 32 位。

我尝试安装 Microsoft Access Database Engine 2010 Redistributable,建议来自: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered in the local machine

我也试过这个建议: http ://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/1d5c04c7-157f-4955-a14b-41d912d50a64

它们都不适合我。有人帮忙吗?

这是我的代码: string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\Sample.xlsx;Mode=Share Deny Write;Extended Properties=\"HDR=YES;\";Jet OLEDB:发动机类型=37";

OleDbConnection connection = new OleDbConnection(connectionString);

try
{
    connection.Open();

    OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$]", connection);
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    adapter.SelectCommand = command;

    DataSet ds = new DataSet();
    adapter.Fill(ds);

    ds.Tables[0].Rows.Count.Dump();

}
catch (Exception)
{            
    throw;
}
finally
{
    connection.Close();
}
4

1 回答 1

0

这是关于此错误的讨论,请参考它并让我知道它是否适合您。

怎么修

此致

尝试先安装这个:http: //www.microsoft.com/download/en/details.aspx?id=13255

尝试以下方法:

注意:这确实适用于 office 2010,即使它适用于 2007 office

  1. 下载并安装:在这里下载

  2. 在 VS 点击添加数据源,按照向导。

于 2012-11-01T21:40:58.113 回答