最近64ビットOSマシンに移動しました。 C#.netで書かれた私のアプリケーションでは、DLLのコードがMicrosoft.Jet.OLEDB.4.0ドライバを使用してdbfファイルを開こうとしています。 OLEDBが64ビットではサポートされていないことがわかりました。 Refer to this thread64ビットマシンのdbfファイルのJet.OLEDB.4.0ドライバの置換
新しいACE.OLEDB.12.0をインストールしようとしました。まず、32ビットバージョンのエンジンをインストールしました。このバージョンは認識されず、このエラーメッセージ "Microsoft.ACE.OLEDB.12.0プロバイダーはローカルマシンに登録されていません"を受信しました。
は、だから、私は私の他のオフィス製品は、32ビット版のOffice製品としてインストールされているとして今、私はエラーに直面していますhereから、ACE.OLEDBの64ビット版をインストールしようとした
この問題を解決するにはどうすればよいですか?
PS:x86プラットフォームにコンパイルするように私のソリューションを設定しようとしました。それはBadImageFormatExceptionをスローしました。
BadImageFormatExceptionの番号。 x86にコンパイルするためにアプリケーションをダウングレードし、WCFサービスを開始しようとしました。このエラーを投げているプロジェクトが1つあります。 – franklins
WCFの仕組みがわからない、IISなどの別のプロセスによってサービスがホストされていますか?いずれにしても、もともとプロセスを開始する.exeは32ビットである必要があります。 WinForms-exeとIIS Webアプリケーションの両方でJet OLEDBドライバを使用してMsAccessのmdbファイルを読み込んでいるため、動作することが分かりました。ホスティングプロセスが32ビットプロセスの場合、64ビットシステムで動作します。 – Zarat