saeidgab
پنج شنبه 29 اردیبهشت 1390, 18:08 عصر
سلام به همگی، من رو یه پروژه کار می کنم که حجم عملیات دیتابیسش خیلی زیاده. چند تا xml (حداقل 1 و حداکثر 5 مگابایتی ) رو در فاصله های زمانی متفاوت (15 ثانیه تا 15 دقیقه)میخونم(MultiThread) و با مقایسه اونها با اطلاعات دیتابیس ، دیتابیس رو بروزرسانی میکنم. تعداد رکوردهای چند تا از جدولها هم خیلی زیاده که حتی تعداد رکوردهای یکی از اونها به مرور زمان به میلیون میرسه. مشکل اینجاست که به خاطر حجم زیاد کار روی دیتابیس در بعضی مواقع هنگام select زدن از دیتابیس ConnectionTimeOut رخ میده و ارور زیر رو دریافت میکنم:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding
بانک اطلاعاتی Sql 2008 و با Ado.net با sql کار میکنم. مقدار ConnectionTimeOut روی پیش فرضش (15 ثانیه) و با توجه به نوع کار اگر ConnectionTimeOut رو بیشتر از این کنم ،کارایی برنامه پایین میاد(چون بعضی از پروسه ها در فاصله زمانی 15 ثانیه انجام میشه)
سوالم اینه که آیا راهی وجود داره که Timeout expired رخ نده یا کمتر رخ بده؟ یا ممکن من اشتباهی کرده باشم که این ارور رو میگیرم . یا اصلا برای Sql ممکن هست که این حجم تراکنش رو انجام بده یا اینکه من دارم پدرشو در میارم، اونم صداش در میاد!
اگه تجربه ای یا دانشی در این زمینه دارین کمکم کنید خوشحال میشم.
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding
بانک اطلاعاتی Sql 2008 و با Ado.net با sql کار میکنم. مقدار ConnectionTimeOut روی پیش فرضش (15 ثانیه) و با توجه به نوع کار اگر ConnectionTimeOut رو بیشتر از این کنم ،کارایی برنامه پایین میاد(چون بعضی از پروسه ها در فاصله زمانی 15 ثانیه انجام میشه)
سوالم اینه که آیا راهی وجود داره که Timeout expired رخ نده یا کمتر رخ بده؟ یا ممکن من اشتباهی کرده باشم که این ارور رو میگیرم . یا اصلا برای Sql ممکن هست که این حجم تراکنش رو انجام بده یا اینکه من دارم پدرشو در میارم، اونم صداش در میاد!
اگه تجربه ای یا دانشی در این زمینه دارین کمکم کنید خوشحال میشم.