'Microsoft.Jet.OLEDB.4.0' プロバイダはローカルのコンピュータに登録されていません

あるプログラムを実行していると下記の例外が発生した。
'Microsoft.Jet.OLEDB.4.0' プロバイダはローカルのコンピュータに登録されていません

原因は筆者の環境がX64のWindowsXPであり、X64環境では32ビットのMicrosoft.Jet.OLEDB.4.0が動作しないためのようだ。回避するためには、X86環境でビルドする必要がある。

VB.NETの場合の手順は次のとおり。
  1. ソリューション(もしくはプロジェクト)のプロパティを開く
  2. コンパイルの設定を表示する
  3. 詳細コンパイルオプションボタンを押す
  4. [ビルドの詳細設定]ダイアログのターゲットCPUを「AnyCPU」から「x86」に変更し、OKボタンを押す
  5. プロジェクトのプラットフォームをx86になっていることを確認してOKボタンを押す

C#の場合の手順は次の通り。
  1. ソリューション(もしくはプロジェクト)のプロパティを開く
  2. 構成マネージャボタンを押す
  3. アクティブソリューションプラットフォームの<新規作成>を選ぶ
  4. [新しいプラットフォームを入力または選択してください]コンボボックスからx86を選び、OKボタンを押す
  5. プロジェクトのプラットフォームをx86になっていることを確認してOKボタンを押す

トラックバック

トラックバックURL:
http://www.apricot-jp.com/cgi/mt/mt-tb.cgi/327

関連情報

・Microsoft JScript 実行時エラー:オブジェクトを指定してください。
・このログインで要求されたデータベースXXX を開けません。ログインに失敗しました。ASPNET はログインできません
・Logging Application Blockのトラブルシューティング
・IISのログ出力先
・このログインで要求されたデータベースXXX を開けません。ログインに失敗しました。ASPNET はログインできません
・C# 3.5 yieldの読み方
・ASP.NET サーバーサイドのイベント処理の順番
・ASP.NETのWebページでグーグルアドセンスを貼り付ける方法
・IIS メタベースにアクセスできませんでした
・VSSで管理されているプロジェクトは、ファイルの名前の変更や移動は極力行わない方が良い
・Oracle 9.2へOLE DB接続する方法
・単体テストのデータ
・この行は既に別のテーブルに属しています
・データベースのバージョンは 655 なので、開けません。
・証明書ストアでマニフェスト署名用の証明書が見つかりません。
・次のモジュールは最適化を有効にされて、またはデバッグ情報なしでビルドされました
・String.Concatメソッドを使った文字列の連結
・ファイルの存在をチェックする
・テキストファイルをロードし文字列を読み込むサンプル
・任意の数の引数を受け取るメソッド

Copyright(C) 2007 アーキテクト360 Allrights reserved.