SORU
27 AĞUSTOS 2008, ÇARŞAMBA


Nasıl SQL Server zaman aşımı özel durumları yakalamak

Farklı şekilde ele alınması böylece özellikle SQL server zaman aşımı özel durumları yakalamak istiyorum. Eğer ileti dize "" eğer yapacak daha iyi bir yolu var mı? merak ediyorum zaman Aşımı varsa bu SqlException yakalamak ve sonra kontrol edebileceğimi biliyorum

try
{
    //some code
}
catch (SqlException ex)
{

    if (ex.Message.Contains("Timeout"))
    {
         //handle timeout
    }
    else
    {
         throw;
    }
}

CEVAP
15 EYLÜL 2008, PAZARTESİ


Bir zaman aşımı için kontrol etmek için, eski değerini kontrol inanıyorum.Numarası. Eğer -2, daha sonra ise bir zaman aşımı durumu var.

-2 zaman aşımı hata kodu, DBNETLİB döndü, SQL Server için MDAC sürücü. Bu Reflector, indirme ve Sistem altında bakarak görülebilir.Veri.SqlClient.TİMEOUT_EXPİRED için TdsEnums.

Kodunuz şöyle olacaktır:

if (ex.Number == -2)
{
     //handle timeout
}

Kod hatası göstermek için:

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");
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Police

    Android Poli

    21 NİSAN 2010
  • FND Films

    FND Films

    2 Mayıs 2006
  • Harvest: Greg Laurie

    Harvest: Gre

    6 HAZİRAN 2006