2011-07-03 17 views
1

私はVS 2008をWin 7 Professional 64bitシステムにインストールしており、データベースはOracle 11g r2が同じマシンにインストールされています。データソース構成ウィザードでBadImageFormatException

- >新しい接続 データソース:Oracleデータベース(Oracleクライアント) 私はサービス名、ユーザ名、およびパスワードを入力した後[Test Connection]をクリックし、私は次のエラーを取得:

試みをOracleクライアントライブラリをロードするとBadImageFormatExceptionがスローされました。 この問題は、32ビットOracleクライアントコンポーネントをインストールした状態で64ビットモードで実行している場合に発生します。

- この場合は必要ないため、私は自分のノートパソコンのWin 7 32bit Oracle 11g r2 32bitで同じ設定をしていますので、すべて正常に動作しています。

あなたにこの問題の解決策がある場合は教えてください。

答えて

1

あなたがこのことについてどれだけ理解しているのか、あなたの質問からはわかりません。誰も18日間答えを提出していないので、私は$ 0.20の価値を置くでしょう。あなたは64ビットアプリケーションの下で走っているので、64ビットの.DLLをロードしたい。私はOracleについては何も知らないが、クライアント.dllは管理されていない環境で書かれており、管理対象アプリケーションが行う「任意のCPU」という概念をサポートすることはできないと推測する。あなたにはいくつかの選択肢があります。 1. 64ビット版のOraceleクライアント.DLLが64ビットラップトップに存在する場合は、それらをロードします。 2.ウィザードのテスト接続機能を使用しないでください。あなたは32ビットマシンのために構築しているアプリケーションをターゲットにすることができます。アプリケーション実行時にはこの問題は発生しません(ターゲットの詳細についてはsee this blog post)。

0

VS 2008はx86アプリケーションですが、 x64ドライバを使用している新しい接続データソースを設定します。

procmon.exeのようなツールを使用していることを証明できます。そうすると、Test Connectionプロセスを開始した後、x64ドライバがロードされ、BadImageFormatExceptionがロードされることがあります。

解決方法は、Visual Studioに必要なx86ドライバをインストールすることです。

0

あなたのプロジェクトのPlatformTargetを設定するだけでプロパティが構築され、機能するはずです。

関連する問題