SQL DB と Oracle DB の両方に多くの接続を行うアプリケーションがあります。Oracle 接続は、この例外を何度もスローします。私は検索を行い、このリンクを見つけました
http://www.forumtopics.com/busobj/viewtopic.php?p=925784
以下で説明するように、Windows の .net の問題のようです。
「[ORA-12542 TNS アドレス使用エラー] は、Windows クライアントの空きポートが使い果たされ、エラー TNS を与える TIME_WAIT 状態のポートを使用しようとしていることが原因で発生します- 12542: アドレスは既に使用されています。"
私の質問は次のとおりです。
1> .NET で、接続を確立するためのローカル ポート範囲を指定することは可能ですか。たとえば、ある範囲のポートを SQL サーバー接続専用にし、別の範囲のポートを Oracle に指定します。
2> .Net の接続にはどのようにポートが割り当てられますか? そのため、Time_Wait ポートは再割り当てされません。
3> Oracle 接続の場合、50000 などの非常に大きな番号から始まるポート番号がローカル ポートに割り当てられますが、SQL Server 接続の場合、ローカル ポートは 5000 から始まります。なぜですか?
4> この問題を解決するにはどうすればよいですか?
前もって感謝します。
編集: SQLServer 接続でタイムアウト例外も発生します。それらは関連していると思います。