4

私は Windows アプリケーションで作業しています。Excel から値を読み取り、データベースに更新しています。私のコードは

 string Con_Str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
                         ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";

私のローカルでは問題なく動作しており、32ビットマシンを使用しています。64ビットマシンであるサーバーでexeを実行しました。そこで私は次のようなエラーが発生しています

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

このリンクから最新のものをダウンロードしました。

http://www.microsoft.com/en-us/download/details.aspx?id=13255

それでも私は問題を抱えています。これを修正する方法..

4

1 に答える 1

2

Microsoft.ACE.OLEDB.12.0;(略してADE)を使用しています。これは、ターゲット マシンに適切なビットをインストールする必要があることを意味します。これは、アプリケーションをビルドするときに選択したアーキテクチャによって複雑になります。

AnyCPU 用にビルドします。

Install ADE 32bit on 32bit target machine
Install ADE 64bit on 64bit target machine

x86 用にビルドする

Install ADE 32bit on 32bit or 64bit target machine.

ご覧のとおり、最も簡単な方法は、アプリケーションを x86 アーキテクチャ用にコンパイルすることです。

于 2012-06-18T07:56:16.703 に答える