- 締切済み
VB2008の64bitでの使用について
こんにちは どなたか教えていただけると非常に助かります。 VB2008で簡単なMSアクセス2010と連携した在庫管理システムを作成しました。(Win7の32bitPCで開発しました) 32bitPCでは問題なく動作しましたが64bitPCでは以下のエラーメッセージが表示され使用できませんでした。 --------------------------------------------------------------------- Microsort .NET Framework アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました、[続行]をクリックすると、アプリケーションはこのエラーを無視しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 プロバイダーが見つかりません。正しくインストールされていない可能性があります。 --------------------------------------------------------------------- [続行]を押すて進むと、今度は以下のエラーメッセージが表示されます。 --------------------------------------------------------------------- 在庫管理システム アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました、[続行]をクリックすると、アプリケーションはこのエラーを無視しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 この操作を実行するために接続できません。このコンテキストで閉じているかあるいは無効です。 --------------------------------------------------------------------- インストーラの作成方法に誤りがあるのでしょうか。 どなたかわかる方、ご教授お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- temtecomai2
- ベストアンサー率61% (656/1071)
"Any CPU" でコンパイルしてるのなら構成マネージャでプラットフォームを新規作成して明示的に "x86" を選択すると良いかと。 x86 でコンパイルされてアプリケーションは 32bit版となるので、Access DB にアクセスするためのドライバも 32bit版が使用されると思います。
- freetaka
- ベストアンサー率53% (106/197)
>プロバイダーが見つかりません。正しくインストールされていない可能性があります。 OELDB接続であれば何をプロバイダとして指定していますか? もしJet4.0を指定しているのであれば64ビット環境にはありません またはこのエラーが表示される場合は 接続に利用できないプロバイダが指定されているはずです 参考URLにあるサイトで AccessDatabaseEngine_X64.exe をダウンロードしてインストールし 「Microsoft.ACE.OLEDB.12.0」をプロバイダとして指定してみてください それで接続できるようになるかと思います
- 参考URL:
- http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=C06B8369-60DD-4B64-A44B-84B371EDE16D
お礼
お返事が遅くなり申し訳ありません。 指定方法は「Jet4.0」ではなく、「ACE.OLEDB12.0」を指定した状態となっております。 ご紹介いただいたサイトより64bitEngineをインストールして試してみようと思います。 ありがとうございました。
- AS400VBNET
- ベストアンサー率57% (4/7)
ソリューションエクスプローラー → プロジェクトのプロパティを表示 コンパイル → 詳細コンパイルオプション → ターゲットCPU でビルドしてみてはいかがでしょうか?
お礼
お返事が遅くなり申し訳ありません。 ご教授いただいた内容を確認してみます。 ありがとうございます。
補足
ご連絡が遅くなり申し訳ありません。 ご教授いただいた内容を確認してみます。 また、こちらに大変恐縮ですが補足させてください。 みなさんからご教授頂いた内容をもとに修正(本編のプログラムも今回の件に関係なく修正しています)を行っていましたが、別のエラーが発生してしまい、今度は32bitPCでも起動できなくなってしまいました。 ※32bitデスクトップでは問題なし、32bitノートではエラーが発生します。 以下にエラー内容を載せますので、この件についてもご教授いただけないでしょうか。 よろしくお願いします。 --------------------------------------------------------------------------- Microsoft .NET Framework アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 型'ADODB.ConnectionClass'のCOMオブジェクトをインターフェイス型'ADODB.ConnectionClass'にキャストできません。IID '{00001550-0000-0010-8000-00AA006D2EA4}'が指定されたインターフェイスのCOMコンポーネント上でのQueryInterface呼び出しのときに次のエラーが発生したため、この操作に失敗しました。インターフェイスがサポートされていません(HRESULTからの例外:0x80004002(E_NOINTERFACE)) --------------------------------------------------------------------------- よろしくお願いします。