ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

تغییر دادن مقدار Timeout در SqlCommand

بسم الله الرحمن الرحیم

در بعضی اگر شما بخواهید یک دستور اسکیوال را از طریق سی شارپ فراخوانی کنید که مدت زمان اجرای آن دستور بسیار طولانی باشد با خطای زیر مواجه می شوید:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. The statement has been terminated

برای حل این مشکل شما باید مدت زمان Timeout را در SQL Command افزایش دهید و یا این پارامتر را غیر فعال کنید.

به صورت پیش فرض مدت زمان CommandTimeout در SqlCommand برابر با 30 ثانیه می باشد که شما می توانید به صورت زیر آن را تغییر دهید

SqlCommand sqlCommand= new SqlCommand("select * from table_EduOnline");

SqlCommand.CommandTimeout = 100;//100 secound

و یا با مساوی قرار دادن CommandTimeout برار با 0 آن را غیر فعال کنید

SqlCommand.CommandTimeout = 0;// disable

با استفاده از دستور Delay  می توانید این خاصیت را تست کنید، مثال:

  static void Main(string[] args)

        {

            string cString = @"Data source=<your server>;Integrated Security=SSPI;Initial Catalog=Northwind";

            using (SqlConnection sc = new SqlConnection(cString))

            {

                try

                {

                    SqlCommand cmd = new SqlCommand("waitfor delay '00:00:30';select * from Shippers", sc);

                    cmd.CommandTimeout = 10;

                    Console.WriteLine("CommandTimeout: {0}", cmd.CommandTimeout);

                    sc.Open();

                    SqlDataReader r = cmd.ExecuteReader();

                    while (r.Read())

                        Console.WriteLine("{0} : {1}", r[0].ToString(), r[1].ToString());

                    sc.Close();

                }

                catch (SqlException se)

                {

                    Console.WriteLine(se);

                }

            }

        }

نظرات (۰)

هيچ نظري هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
up
ما را در گوگل محبوب کنید