1

VisualStudio2008のエンティティフレームワークを介してOracleデータベースへの接続を作成しようとしています。64ビットのVistaUltimateを実行しています。

最初は、Visual Studioを介してデータベースに接続することさえ困難でしたが、最終的には10204_vista_w2k8_x64_production_dbとODTwithODAC1110720をインストールすることで機能しましたが、VisualStudioを介したインターフェイスに必要な最小限のパーツのみでした。

私はこのセットアップにまったく慣れていないので、すでに間違いを犯している可能性がありますが、両方のパッケージをインストールすることが、VisualStudioを介して接続を作成できる唯一の方法です。

接続を確立し、ウィザードを使用してを作成しました。edmxファイル。モデルと関連付けは完璧に作成されており、うまくいくと思いました。参照名としてデフォルト名「Entities」を使用しました。

私が次のことをしようとすると

filingsContext = New Entities()
filingsContext.TABLE_NAME_HERE.First()

次のエラーが発生します。

InnerException = {"C:\ app \ adexter \ OraHome_1\oci.dllを読み込めません。64xアプリケーションで64xバージョンのOracleクライアントを使用していることを確認してください。"}

アプリケーションを実行しているときを除いて、どのようにしてすべてのポイントでOracle DBに接続できますか?

4

2 に答える 2

1

発生している問題は、64ビットアプリケーション内に32ビットバージョンのDLLを読み込もうとしていることです。VisualBasicアプリケーションを32ビット/x86をターゲットに切り替えてみてください。これで、問題が解決するはずです。

  1. ソリューションエクスプローラーでプロジェクトを右クリックします
  2. プロパティを選択します
  3. [コンパイル]タブに移動します
  4. AdvancedCompileOptionsをクリックします
  5. ターゲットCPUコンボをx86に変更します
  6. OKを押す
于 2009-10-05T22:02:34.833 に答える
1

ODACを使用して64ビットバージョンのODTがインストールされていることを確認してください。

アプリケーションが使用するクライアントバージョンを確認する方法については、この回答を参照してください(エンドの一部のリンクは、より具体的にはC#言語を対象としていますが、VB .NEtに適合させることができます)。

于 2009-10-06T08:55:28.100 に答える