web-dev-qa-db-ja.com

Excel ODBCおよび64ビットサーバー

aSP.NETを使用してExcelテンプレートを更新する必要があります。

私たちのサーバーは、64ビットモードでWindows2008を実行しています。

次のコードを使用してExcelファイルにアクセスしています。

    ...
    string connection = 
@"Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls)};DBQ=" + path + ";";
    ...

アプリケーションプールが32ビットアプリケーションを有効にするように設定されている場合、コードは期待どおりに機能します。ただし、使用しているOracleドライバは64ビットしかないため、失敗します。

[32ビットアプリケーションを有効にする]がfalseに設定されている場合、Excelコードは次のエラーで失敗します。

データソース名が見つからず、デフォルトのドライバーが指定されていません

助言がありますか?

10
Ris Adams

Microsoft Officeチームはちょうどリリースされましたa64ビットドライバー

6
Matthew Skelton

Microsoftは64ビットOLEDBFOR ODBC in 2008/04/04 http://www.Microsoft.com/downloads/details.aspx?FamilyID=000364db-5e8b-44a8- b9be-ca44d18b059b&DisplayLang = en

これで、すべての64ビットを実行できるようになります。試して結果をお知らせください。個人的には、Microsoftが64ビットのJet Oledb 4.0をリリースする必要があると思います。開発チームがそれを実行する時間がない場合は、codeplex.comに配置してください。他のプログラマーにやらせてください。

2
codeplexer

2010 Office System Driver Beta:Data Connectivity ComponentsLink もあり、Excel 2007(XLS)をから開くことができます。 64ビット環境。

このダウンロードにより、MicrosoftOffice以外のアプリケーションがMicrosoftOffice2010ベータファイルからデータを読み取るために使用できる一連のコンポーネントがインストールされます。

接続文字列

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + filePath + ";Extended Properties=\"Excel 12.0;HDR=YES;\""
2
Alex Nolasco

64ビット用のオフィスドライバはリリースされていません。

このリンクの(現在)最後の投稿: MSDNフォーラム 面倒で醜い回避策の詳細。必要に応じて、WindowsサービスをCOMで公開されたアセンブリに置き換えることもできます。それでも醜い。 :)

0
Robert Jeppesen