どのようャSQLServerタイムアウト例外
-
09-06-2019 - |
質問
い漁具体的にはSQLサーバのタイムアウト例外を除できるように取り扱いとは異なります。知っていうキャッチSqlExceptionトレージエンジンはインデックスの場合はメッセージ文字列が含まれる"タイムアウトがした疑問がある場合は、よりよくしていきますか?
try
{
//some code
}
catch (SqlException ex)
{
if (ex.Message.Contains("Timeout"))
{
//handle timeout
}
else
{
throw;
}
}
解決
チェック、タイムアウトのダウンロードいただけまチェックの値ます。ます。であれば-2しいタイムアウト状態です。
-2のエラーコード、タイムアウトから返されたDBNETLIB、MDACドライバーのためのSQLサーバーです。この見学することができますのダウンロード リフレクタ, みづます。データです。SqlClient.TdsEnumsのためのTIMEOUT_EXPIRED.
コードを読む:
if (ex.Number == -2)
{
//handle timeout
}
コードを不全:
try
{
SqlConnection sql = new SqlConnection(@"Network Library=DBMSSOCN;Data Source=YourServer,1433;Initial Catalog=YourDB;Integrated Security=SSPI;");
sql.Open();
SqlCommand cmd = sql.CreateCommand();
cmd.CommandText = "DECLARE @i int WHILE EXISTS (SELECT 1 from sysobjects) BEGIN SELECT @i = 1 END";
cmd.ExecuteNonQuery(); // This line will timeout.
cmd.Dispose();
sql.Close();
}
catch (SqlException ex)
{
if (ex.Number == -2) {
Console.WriteLine ("Timeout occurred");
}
}
他のヒント
こちら: http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.adonet/2006-10/msg00064.html
きを読もう トーマスWeingartner 書き:
タイムアウト:SqlException.番号==-2ことADO.NET エラーコード)
一般にネットワークエラー:SqlException.数=11
行き詰まり:SqlException.番号==1205(これはまさにSQLサーバーエラーコード)
...
取り扱いを、"一般ネットワークエラー"として、タイムアウト例外です。だが、事例時更新-挿入-削除クエリを長期のトリガが発生します。
更新c#6:
try
{
// some code
}
catch (SqlException ex) when (ex.Number == -2) // -2 is a sql timeout
{
// handle timeout
}
非常に簡単で素敵な眺める!!
きむすびにしていただきました値のSqlException.ErrorCodeですか?仕事をこなすことができま。
有する場合に使用するのが良いでしょうの確認コード -2146232060.
うに設定してstatic定数のデータのコードです。