3

ASP.NET 3.5 Webアプリケーション(WCFホスト)とテストプロジェクトを備えたVisualStudioソリューションがあります。Oracle Instant Client(v11、NHibernate経由)を使用して、すべての「関与する」マシン(開発、CIサーバー、テストサーバー、本番サーバー)にOracleクライアントツールをインストールせずにOracle接続を作成したかったのです。

奇妙なことに、開発マシン(x86)ではテストが問題なく実行されますが、Webアプリケーションでは次のエラーメッセージが表示されます。System.Data.OracleClient requires Oracle client software version 8.1.7 or greater

私がすでに除外したこと:

  • binフォルダーには、すべてのユーザーの読み取りおよび実行権限があります
  • DLLのブロックが解除されます(Windows 7)
  • Visual StudioDevelopmentServerとIIS7の両方で問題が発生する
  • また、Oracleクライアントツールがインストールされているマシンでこれをテストしました。

x64 CIサーバーでテストを実行することもできました(詳細)。

誰かが私が欠けているものについての手がかりを持っていますか?

4

1 に答える 1

3

新しいマシンでOracleをセットアップするたびに、このエラーが表示されます。

  1. オラクルbinフォルダがパスにあることを確認してください
  2. クライアントフォルダ(私のマシンC:\ oracle \ product \ 10.2.0 \ client_1)のすべてのユーザーに読み取りと実行のアクセス許可を与えます
  3. マシンを再起動するまで、権限の変更が有効にならない場合があります。

編集:

コメントから、手順2と3はOracleInstantClientには関係ありません。ホバーラー、問題はまだシステムがOracle InstantClientDLLを見つけられないことだと思います。これらのDLLの場所をパスに入れて、これで解決するかどうかを確認することをお勧めします。

http://www.oracle.com/technetwork/database/features/instant-client/index-100365.htmlから

インストール手順

インストール手順:

  1. プラットフォームに適したインスタントクライアントパッケージをダウンロードします。すべてのインストールには、BasicまたはBasicLiteパッケージが必要です。

  2. パッケージを「instantclient」などの単一のディレクトリに解凍します。

  3. ご使用の環境のライブラリロードパスをステップ2のディレクトリ(「インスタントクライアント」)に設定します。多くのUNIXプラットフォームでは、LD_LIBRARY_PATHが適切な環境変数です。Windowsでは、PATHを使用する必要があります。

  4. アプリケーションを起動してお楽しみください。

于 2010-09-06T14:33:31.183 に答える