Windows 用のソフトウェアを開発しています。
開発用PCは Windows 7 あるいは Windows 8.1 で、どちらも 64-bit。
開発環境は 64-bit でも、ソフトの実行環境は 32-bit の Windows かもしれません。
コンパイルオプションで実行時の CPU を指定できるのですが、こんな現象に遭遇しました。
「TaskClock」(お仕事時計)というソフト。
タスク(仕事や趣味、その他の活動)を登録しておき、
ストップウォッチ感覚でタスクの所要時間を計測・記録するソフトです。
「TaskClock」では記録用に Access のデータベースを利用しています。
Access が入っていないPCでは、MSが無償提供しているデータベースエンジンが利用できます。
このデータベースエンジンには 32-bit 版を使います。
さて、時代は既に 64-bit 版 Windows が主流のはず・・・
と思い、TaskClock 開発時のコンパイルオプションで
「対象の CPU」を「Any CPU」にして、
「32 ビットの優先」にはチェックを入れませんでした。
デバッグ実行するとこんなメッセージが・・・
もちろん、これは TaskClock が出しているメッセージ。
データベースが開けない場合(例外が発生した場合)、
それはデータベースエンジンがインストールされていない(または Access が入っていない)と判断して
このメッセージを表示しています。
この例外を直接表示すると・・・
'Microsoft.ACE.OLEDB.12.0' プロバイダーはローカルのコンピューターに登録されていません
データベースエンジンはインストールしているのに・・・
32 ビットにすると例外は発生しなくなりました。
で、「対象の CPU」は「Any CPU」のままで「32 ビットの優先」にチェックを入れました。
すると、例外は発生しなくなりました。
「対象の CPU」は「x86」でも例外は発生しません。
まとめるとこんな感じ。
32-bit 版の Access DB を使う場合は、ソフト全体を 32-bit で動かす必要があるようです。
なお、開発環境は次のとおりです。
OS:Windows 8.1 64-bit または Windows 7 64-bit
VS:Visual Studio 2013 32-bit Update 4
以上、無知な自分の備忘録として・・・
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・
開発用PCは Windows 7 あるいは Windows 8.1 で、どちらも 64-bit。
開発環境は 64-bit でも、ソフトの実行環境は 32-bit の Windows かもしれません。
コンパイルオプションで実行時の CPU を指定できるのですが、こんな現象に遭遇しました。
「TaskClock」(お仕事時計)というソフト。
タスク(仕事や趣味、その他の活動)を登録しておき、
ストップウォッチ感覚でタスクの所要時間を計測・記録するソフトです。
「TaskClock」では記録用に Access のデータベースを利用しています。
Access が入っていないPCでは、MSが無償提供しているデータベースエンジンが利用できます。
このデータベースエンジンには 32-bit 版を使います。
さて、時代は既に 64-bit 版 Windows が主流のはず・・・
と思い、TaskClock 開発時のコンパイルオプションで
「対象の CPU」を「Any CPU」にして、
「32 ビットの優先」にはチェックを入れませんでした。
デバッグ実行するとこんなメッセージが・・・
もちろん、これは TaskClock が出しているメッセージ。
データベースが開けない場合(例外が発生した場合)、
それはデータベースエンジンがインストールされていない(または Access が入っていない)と判断して
このメッセージを表示しています。
この例外を直接表示すると・・・
'Microsoft.ACE.OLEDB.12.0' プロバイダーはローカルのコンピューターに登録されていません
データベースエンジンはインストールしているのに・・・
32 ビットにすると例外は発生しなくなりました。
で、「対象の CPU」は「Any CPU」のままで「32 ビットの優先」にチェックを入れました。
すると、例外は発生しなくなりました。
「対象の CPU」は「x86」でも例外は発生しません。
まとめるとこんな感じ。
32-bit 版の Access DB を使う場合は、ソフト全体を 32-bit で動かす必要があるようです。
なお、開発環境は次のとおりです。
OS:Windows 8.1 64-bit または Windows 7 64-bit
VS:Visual Studio 2013 32-bit Update 4
以上、無知な自分の備忘録として・・・
ブログ記事についてのお問い合わせは「質疑応答 掲示板」で・・・
ここをクリックして、北窓舎のサイトにもお立ち寄りください・・・