2

ADO を使用して EXCEL に接続しています。私のマシンには、office 32 ビットがインストールされています。次のコードは、32 ビットでビルドすると問題なく動作します。

_ConnectionPtr conn;
conn->Open(connStr, "", "", NULL);

接続文字列には次が含まれます。

Provider=Microsoft.ACE.OLEDB.12.0

64 ビット用にコンパイルすると、「プロバイダが見つかりません。正しくインストールされていない可能性があります」というメッセージが表示されます。(hr=-2146824582)。64 ビットとの互換性の問題はありますか? 64 ビットの Office をインストールする必要がありますか? その場合、コードは 32 ビット用にビルドされたときに機能しますか?

ありがとうございました。

4

1 に答える 1

6

解決策:「MicrosoftAccess DatabaseEngine2010再頒布可能パッケージ」。

http://www.microsoft.com/en-gb/download/details.aspx?id=13255から「AccessDatabaseEngine_X64.exe」をダウンロードし、「AccessDatabaseEngine_X64.exe/passive」を実行します。

于 2012-11-13T11:46:44.783 に答える