PDA

View Full Version : فوری: Timeout expired



sara417
شنبه 07 بهمن 1391, 15:47 عصر
با سلام
در حال نوشتن پروژه فارغ التحصیلیم هستم. بعد از 3 ماه دیگه اخرشه حالا به ارور TimeOut خوردم یعنی
وقتی میخوام از طریق پیج لاگین برم توی صفحه کاربری ارور زیر رو میده،نمیتونه کانکشن open کنه. اینجا و تو گوگل هم گشتم اما نفهمیدم چی کارش کنم:


Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.



Line 19: if (cn.State == ConnectionState.Open)
Line 20: cn.Close();
Line 21: cn.Open();




فوری جواب میخوام
ممنون میشم

حمیدرضاصادقیان
شنبه 07 بهمن 1391, 16:06 عصر
سلام.
این به این دلیل هست که یا SQL Server شما سرویسش در حال اجرا نیست یا اینکه تعداد Connection های بازتون خیلی زیاد شده.
برای تست به All Programs-Microsoft SQL Server 2008-Configuration Tools-Configuration Manager رفته و از قسمت Services یکبار Service مربوط به SQL Server رو Stop و Start کنید دوباره سعی کنید ببینید میتونید به سرویس متصل بشید یاخیر.

sara417
شنبه 07 بهمن 1391, 16:14 عصر
سلام.
این به این دلیل هست که یا SQL Server شما سرویسش در حال اجرا نیست یا اینکه تعداد Connection های بازتون خیلی زیاد شده.
برای تست به All Programs-Microsoft SQL Server 2008-Configuration Tools-Configuration Manager رفته و از قسمت Services یکبار Service مربوط به SQL Server رو Stop و Start کنید دوباره سعی کنید ببینید میتونید به سرویس متصل بشید یاخیر.
ممنونم
درست شد، دیدم همه Stop شدند. البته فقط یک بار وارد شد. دوباره لاگین میکنم نمیشه
اینکه نمیشه من هر دفعه start و stop کنم؟
میخوام پروژه دفاع کنم:گریه:

sara417
شنبه 07 بهمن 1391, 16:22 عصر
سلام.
این به این دلیل هست که یا SQL Server شما سرویسش در حال اجرا نیست یا اینکه تعداد Connection های بازتون خیلی زیاد شده.
برای تست به All Programs-Microsoft SQL Server 2008-Configuration Tools-Configuration Manager رفته و از قسمت Services یکبار Service مربوط به SQL Server رو Stop و Start کنید دوباره سعی کنید ببینید میتونید به سرویس متصل بشید یاخیر.

اینکه میگین تعداد کانکشن بازم زیاده؟
از کجا بفهمم؟
من از تابع استفاده کردم


public void OpenConnection(SqlConnection cn){
if (cn.State == ConnectionState.Open)
cn.Close();
cn.Open();
}

public void CloseConnection(SqlConnection cn)
{
// if ((page == null) && (CnnConnection.State == ConnectionState.Open))
if (cn.State != ConnectionState.Closed)
cn.Close();
}

حمیدرضاصادقیان
شنبه 07 بهمن 1391, 22:54 عصر
خوب پس نیازی نیست تعداد Connection های باز رو بدست بیارید.
به استفاده از sp_who میتوانید متوجه بشید چه کسانی به سرور متصل هستند.
به جز اینها شما کافیه روی سرور مورد نظر کلیک کرده و از حالت Manual به حالت Automatic تبدیل کنید دیگه نیازی نیست هردفعه اونو start کنید.