0

サーバーでは、データベースとしてoracle11gを使用するasp.netアプリケーションを公開しています。

web.configに接続文字列を設定するだけで、機能します。

ただし、他のクライアントアプリケーションで必要なため、誰かが同じサーバーにoracle8をインストールします。

しかしその後、私たちのWebアプリケーションは機能しなくなり、エラーが発生します。

ora-12154TNSはサービス名を処理しません

その後、パス環境が変更されていることがわかりました。最初に「C:/ app / oracle81/bin」を追加します。しかし、最初に「D:/ app / oracle11g / bin」を変更しても、機能しません。

両方を機能させるためのアイデアはありますか?

4

2 に答える 2

0

.NET 内で使用されているドライバーを調査することもできます... Microsoft の非推奨の Oracle プロバイダー、Oracle 独自のプロバイダー、または DSN で考えられるいくつかの種類のドライバーの上にあるある種の ODBC プロバイダー。それぞれが異なる方法で修正される可能性があります。

しかし、「PATH」環境変数だけではない何らかの方法で、Oracle 8のインストールがOracle 11のインストールよりも優先されているようです。私の推測では、レジストリになります。不便さと有効性の昇順で、次のことを試すことができます。

1) Oracle 11 インストーラーを実行し、Oracle 8 ホームについて認識しているかどうかを確認します。(8.0 の場合はありそうもない)。デフォルトまたはリストの一番上に設定します。出口; 次に戻って、Oracle 11 をデフォルト/リストの一番上に設定します。

2) Oracle 8 ホームの TNS エントリを構成して、Oracle 11 データベースに接続します。非常に古いクライアントを使用しているという事実を受け入れてください。

3) Oracle 11 をアンインストールして再インストールし、優先度を取り戻します。

于 2011-09-03T16:40:43.807 に答える
0

デフォルトでは、.net フレームワークは、パス ステートメントで最初に到達した oracle ディレクトリを使用します。これを回避する方法についていくつかの議論がありましたが、最善の策は、マシンごとに 1 つのクライアントを実行することです。

于 2011-09-09T03:44:38.020 に答える