PDA

View Full Version : مشکل در برنامه ویندوزی تحت شبکه داخلی



sg.programmer
دوشنبه 13 شهریور 1396, 18:28 عصر
سلام این خطا در برنامه ویندوزی تجت شبکه داخلی برای ثبت در دیتابیس روی میده برای چی هست و چیکار بیاد کرد؟ این خطا هر از چند مدت بوجود میاد بعد از چند مدت دوباره درست میشه همون اطلاعات را میشه دوباره ثبت کرد؟


system.data.sqlclient.sqlexception (0x80131904) : A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 – An existing connection was forcibly closed by the remote host.)


146222

دستورات بصورت زیر وارد میشه
public void DoCommand(string ole)
{
con = new SqlConnection();

con.ConnectionString = variable._ConnectionString;

cmd = new SqlCommand();
cmd.Connection = con;
con.Open();

tr = con.BeginTransaction();
cmd.Transaction = tr;

cmd.CommandText = ole;
cmd.ExecuteNonQuery();

tr.Commit();

con.Close();
}

رامین مرادی
سه شنبه 14 شهریور 1396, 08:02 صبح
برید به اس کیو ال کانفیق منیجر. ببیندی سرویسهاتون فعال باشه. بعد در بخش پروتکل tcp رو فعال کنید. و در بخش کلاینت هم tcp رو فعال کنید.

danialafshari
سه شنبه 14 شهریور 1396, 17:06 عصر
با سلام

کانکشن رو هم میزاشتید تا دوستان بهتر راهنمایی کنن
به هر حال
1- کانکشن استرینگ رو بررسی کنید
2- هر دو برنامه را (کلاینت / سرور) را به صورت Run As Administrator اجرا کتید
3- نرم افزار آنتی ویروس و Security را غیر فعال کنید
4- از Run بودن سرویس sql مطمئن و در صورت Start بودن Restart کنید
5- حتما تنظیمات Sql Configuration و Firewall را تنظیم کنید آموزش :
http://barnamenevis.org/showthread.php?387720-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%AA%D8%AD%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%AA%D8%AD%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-SQL-SERVER
6- در صورت حل نشدن مشکل این مسیر را طبق گفته MSDN ایجاد کنید
Regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\
ایجاد فایل از نوع DWORD با نام SynAttackProtect و مقدار 0 در سرور
https://msdn.microsoft.com/en-us/library/ms187005.aspx

موفق باشید

sg.programmer
چهارشنبه 15 شهریور 1396, 14:41 عصر
با سلام

کانکشن رو هم میزاشتید تا دوستان بهتر راهنمایی کنن
به هر حال
1- کانکشن استرینگ رو بررسی کنید
2- هر دو برنامه را (کلاینت / سرور) را به صورت Run As Administrator اجرا کتید
3- نرم افزار آنتی ویروس و Security را غیر فعال کنید
4- از Run بودن سرویس sql مطمئن و در صورت Start بودن Restart کنید
5- حتما تنظیمات Sql Configuration و Firewall را تنظیم کنید آموزش :
http://barnamenevis.org/showthread.php?387720-%D9%81%DB%8C%D9%84%D9%85-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%AA%D8%AD%D8%AA-%D8%B4%D8%A8%DA%A9%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%87-%D8%AA%D8%AD%D8%AA-%D8%A8%D8%A7%D9%86%DA%A9-SQL-SERVER
6- در صورت حل نشدن مشکل این مسیر را طبق گفته MSDN ایجاد کنید
Regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\
ایجاد فایل از نوع DWORD با نام SynAttackProtect و مقدار 0 در سرور
https://msdn.microsoft.com/en-us/library/ms187005.aspx

موفق باشید


تشکر مهندس - این هم از کانکشن استرینگ

variable._ConnectionString = "Data Source='" + _IP + "';Initial Catalog='" + _DBName + "';User ID='" + _UserName + "';Password='" + _Password + "';timeout=10 ";



در ضمن هر از چند مدت این اتفاق میافته

محمد آشتیانی
چهارشنبه 15 شهریور 1396, 15:59 عصر
سلام
این خطا مربوط به تنظیمات شما نیست ، موقعی که به هر دلیل سرویس Sql Server نتونه پاسخ شما رو بده این اتفاق میفته
میزان رمی رو که به Sql Server اختصاص دادید بررسی کنید و اگر کمه مقدارش رو افزایش بدید ، به صورت کلی ممکنه سروری که میزبان Sql Server هست منابع کمی داشته باشه و این محدودیت باعث بشه Sql Server نتونه پاسخ درخواست های کلاینت ها رو بده (در Management Studio روی سرور مربوطه راست کلیک کنید و گزینه Properties رو انتخاب کنید ، از پنجره باز شده تب Memory رو انتخاب کنید و میزان رم رو به حداکثر رم سیستم افزایش بدید)
احتمال دیگه هم اینه که شبکه کند باشه یا ترافیک شبکه زیاد باشه و گاه و بیگاه باعث بروز این مشکل بشه

fortex
چهارشنبه 15 شهریور 1396, 18:06 عصر
سلام
این خطا مربوط به تنظیمات شما نیست ، موقعی که به هر دلیل سرویس Sql Server نتونه پاسخ شما رو بده این اتفاق میفته
میزان رمی رو که به Sql Server اختصاص دادید بررسی کنید و اگر کمه مقدارش رو افزایش بدید ، به صورت کلی ممکنه سروری که میزبان Sql Server هست منابع کمی داشته باشه و این محدودیت باعث بشه Sql Server نتونه پاسخ درخواست های کلاینت ها رو بده (در Management Studio روی سرور مربوطه راست کلیک کنید و گزینه Properties رو انتخاب کنید ، از پنجره باز شده تب Memory رو انتخاب کنید و میزان رم رو به حداکثر رم سیستم افزایش بدید)
احتمال دیگه هم اینه که شبکه کند باشه یا ترافیک شبکه زیاد باشه و گاه و بیگاه باعث بروز این مشکل بشه
یه نکته به نکته های دوستمون اضافه کنم با اجازه:
زمان هایی که در حال نوشتن برنامه هستید یا برنامه run هست و شما در حال query گرفتن هستید.بصورت غیر متعارف سیستم یا برنامه یا پایگاه داده شما متوقف شود(مثلا ریست شدن)این پیغام خطا رخ میدهد.
در کل این خطا مربوط به sql connection هست

sg.programmer
چهارشنبه 15 شهریور 1396, 22:14 عصر
سلام
این خطا مربوط به تنظیمات شما نیست ، موقعی که به هر دلیل سرویس Sql Server نتونه پاسخ شما رو بده این اتفاق میفته
میزان رمی رو که به Sql Server اختصاص دادید بررسی کنید و اگر کمه مقدارش رو افزایش بدید ، به صورت کلی ممکنه سروری که میزبان Sql Server هست منابع کمی داشته باشه و این محدودیت باعث بشه Sql Server نتونه پاسخ درخواست های کلاینت ها رو بده (در Management Studio روی سرور مربوطه راست کلیک کنید و گزینه Properties رو انتخاب کنید ، از پنجره باز شده تب Memory رو انتخاب کنید و میزان رم رو به حداکثر رم سیستم افزایش بدید)
احتمال دیگه هم اینه که شبکه کند باشه یا ترافیک شبکه زیاد باشه و گاه و بیگاه باعث بروز این مشکل بشه

تشکر مهندس و تشکر از همگی

خوب این ممکنه خیلی کار برنامه را با مشکل روبرو کنه - چاره کار چی میشه؟ تشکر

رامین مرادی
پنج شنبه 16 شهریور 1396, 08:07 صبح
سلام
این خطا مربوط به تنظیمات شما نیست ، موقعی که به هر دلیل سرویس Sql Server نتونه پاسخ شما رو بده این اتفاق میفته
میزان رمی رو که به Sql Server اختصاص دادید بررسی کنید و اگر کمه مقدارش رو افزایش بدید ، به صورت کلی ممکنه سروری که میزبان Sql Server هست منابع کمی داشته باشه و این محدودیت باعث بشه Sql Server نتونه پاسخ درخواست های کلاینت ها رو بده (در Management Studio روی سرور مربوطه راست کلیک کنید و گزینه Properties رو انتخاب کنید ، از پنجره باز شده تب Memory رو انتخاب کنید و میزان رم رو به حداکثر رم سیستم افزایش بدید)
احتمال دیگه هم اینه که شبکه کند باشه یا ترافیک شبکه زیاد باشه و گاه و بیگاه باعث بروز این مشکل بشه

منم گاه و بیگاه تو بعضی از سیستمهای شبکه با مشکل تایم اوت مواجه میشم که مجبورا کارت شبکه سرور رو جدا میکنم و دوباره وصل میکنم(وای فای) فعلا سرور اصلی راه نیافتاده رو یه سیستم ساده پیادش کردیم.
کل شبکمون هم به صورت وای فای هست. که قراره تبدیل بکنیم به سیمی که شاید فرجی بشه.