私は真剣に何か明らかにここで立ち往生しています。 私はOracleとMSSQLサーバーと通信するアプリケーションを持っています。オラクルの接続を確認する
それらの両方が彼らの接続文字列を構築し、私は間違ったサーバー名を入力する場合は、その後
try
{
connection.Open();
} catch ...
今すぐ、SQL Server接続がタイムアウトになると私は喜んで例外を処理します。しかし、C#でのOracleの接続はタイムアウトをサポートしていないようですので、私はconnection.Open()から戻ってくることはありませんし、私のアプリケーションはハングします。
私はやや似たような質問がありましたが、答えは私がやっていることと同じで働きません。
check connection from C# app to oracle 10g database
それはいくつかの奇妙なバグですか、私は私のOracleのlibsを確認する必要がありますか? OracleConnectionは古くなっていますが、多分別のものを使うべきでしょうか(むしろ私はむしろ)。
私が必要とするのは、間違ったサーバー名をできるだけ簡単に処理する方法です。
編集1:今、私は今までconnection.Open()を別のスレッドで実行してタイムアウト時に強制終了していたと思いました。
hmmが見やすいです(( – noaRAVE
@noaRAVE)私が知っているC#からOracleに接続する最良の方法は、OracleのODPS(Oracleデータアクセスコンポーネント)をOracleのcorpsから入手できます。 – keni
私はまだプロジェクトに他のコードがたくさんあるので、私はOracleConnectionを使い続けたいと思っています。 – noaRAVE