1

次のコードを使用して、Office 2007、SQLServer2008を搭載したローカルPCに接続文字列を設定しています。

string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + MapPath(Request.ApplicationPath) + "\\" + excelFolderName + fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";

私のOSはWindows7(64ビット)で、問題なくファイルXLSを読み取ることができます。XLSX

プロジェクトをMSServer2003 R2 Standard Edition X64にリリースしましたが、いくつかの問題が発生した後、ACE OLEDB 12.0インストールしていないため、「Microsoft Access Database Engine 2010再頒布可能パッケージ」をインストールしましたが、XLSファイルを読み取ることができません。

XLSXこのエラーが発生するため、(Office 2007を使用して作成された)開こうとすると問題が発生します。

外部テーブルが予期された形式ではありません

私は何が間違っているのですか?

以前の「MicrosoftAccessDatabaseEngine 2007再頒布可能パッケージ」は、プロジェクトを32ビットとしてビルドする必要がある32ビットバージョンしかないため、インストールしたくありません...

前もって感謝します

4

2 に答える 2

0

.xlxファイルと.xlxsファイルに異なる接続文字列が必要な場合がありますか?これを見てください、それは役に立つかもしれません:http ://www.arboundy.com/2010/11/the-microsoft.ace.oledb.12.0-provider-is-not-registered-on-the-local-machine/

于 2011-01-24T15:26:36.203 に答える