2009-06-30 5 views
3

x64システム上で.NETでExcelのスプレッドシートを開きます;データソース= "+ filePath +";拡張プロパティ= Excel 8.0; "は、私は次の接続文字列に</p> <p>「プロバイダ= Microsoft.Jet.OLEDB.4.0を使用してのx64サーバ上の.NETでExcelのスプレッドシートを開くことができません

「Microsoft.Jet.OLEDB.4.0」プロバイダがローカルマシンに登録されていません。

私は2007 Office Systemのドライバインストール:データ接続コンポーネントをしてMicrosoft.ACE.OLEDB.12.0し、この接続文字列

てみました "プロバイダ= Microsoft.ACE.OLEDB.12.0;データソース=" + filePathに+ ";拡張プロパティ= Excel 8.0;"

「取得された「Microsoft.ACE.OLEDB.12.0」プロバイダがローカルマシンに登録されていません」

私は64ビットの問題であるという唯一の応答でGoogleを検索しましたが、誰もがこれを修正する方法を持っていますか?

答えて

2

Excel 2003/2007 OleDBドライバは32ビットのみです。 32ビットアプリケーションでしか使用できないと私は理解しています。

はxlsとxlsxブックを開き、64ビット版と32ビット版の.NET 2.0以上でテストされ、サポートされます。

評価hereをダウンロードし、ライブASP.NETサンプル(C#& VB)hereを参照してください。

免責事項:私はあなたのアプリケーションは32ビットアプリケーションとして実行するように設定する必要がスプレッドシートギア社

3

を所有しています。これは、実行可能プロジェクトのターゲットプラットフォームをVisual Studio Configuration ManagerのAnyCPUからx86に変更することで実現できます。

ソリューション構成を変更する前に、アプリケーションでどのように動作するかをテストする場合は、corflags.exeユーティリティを使用できます。これはあなたのアプリケーションが厳密な名前またはAuthenticode署名されていない場合にのみ機能します。そうでない場合は、署名する必要があります。 Visual Studioのコマンドプロンプトから:

corflags.exe <path and exe file name> /32BIT+ 
関連する問題