1

この例外が発生しました:「Microsoft.ACE.OLEDB.12.0」プロバイダーがローカルマシンに登録されていません。

Excel2010ファイルをOleDBConnectionに接続しようとしていました。私はWindows764ビットとOffice201032ビットを持っています。

Microsoft Access Database Engine 2010再頒布可能パッケージをインストールしようとしましたが、次 のように提案されています。「Microsoft.ACE.OLEDB.12.0」プロバイダーがローカルマシンに登録されていません

私もこの提案を試しました: http ://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/1d5c04c7-157f-4955-a14b-41d912d50a64

それらのどちらも私のために動作しません。誰か助けますか?

コードは次のとおりです。stringconnectionString="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

次の方法を試してください。

注: これは 2007 Office 用ですが、Office 2010 でも機能します

  1. これをダウンロードしてインストールします:ダウンロードはこちら

  2. VS で [データ ソースの追加] をクリックし、ウィザードに従います。

于 2012-11-01T21:40:58.113 に答える