تالار گفتمان مانشت
تشخیص نوع خطا در اتصال به پایگاه داده - نسخه‌ی قابل چاپ

تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 17 بهمن ۱۳۹۳ ۰۸:۰۵ ب.ظ

سلام دوستان.چجوری میشه تشخیص داد خطایی که برای اتصال به بانک اطلاعاتی در Sql در برنامه C#‎‎ تحت ویندوزی رخ داده مربوط به چیه؟!
درواقع بشه نوع خطا رو تو این سه مورد از هم تفکیک کرد :
۱-Sql Server نصب نیست
۲-مسیر sql server درست نیست
۳-بانک اطلاعاتی مورد نظر وجود ندارد

RE: تشخیص نوع خطا در اتصال به پایگاه داده - Bahar_HS - 17 بهمن ۱۳۹۳ ۰۸:۴۰ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۸:۰۵ ب.ظ)tabassomesayna نوشته شده توسط:  سلام دوستان.چجوری میشه تشخیص داد خطایی که برای اتصال به بانک اطلاعاتی در Sql در برنامه C#‎‎ تحت ویندوزی رخ داده مربوط به چیه؟!
درواقع بشه نوع خطا رو تو این سه مورد از هم تفکیک کرد :
۱-Sql Server نصب نیست
۲-مسیر sql server درست نیست
۳-بانک اطلاعاتی مورد نظر وجود ندارد

به خطای خاصی برخوردید یا می خواید برنامه تون چنین قابلیتی داشته باشه؟
جوابو پیدا کردم براتون می ذارم.Smile

تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 17 بهمن ۱۳۹۳ ۰۸:۴۲ ب.ظ

نه میخوام برنامه این قابلیتو داشته باشه.

تشخیص نوع خطا در اتصال به پایگاه داده - one hacker alone - 17 بهمن ۱۳۹۳ ۰۹:۲۵ ب.ظ

سلام

اینجا دو بحث مطرح میشه:

۱- نحوه ی اتصال به بانک
* استفاده از ORM
* استفاده از کامپوننت هایی که سرویس اتصال رو provides می کنند

۲- نحوه ی کد نویسی
row sql استفاده شده یا نه

جواب کلی اینکه شما میتونید خطا رو هندل کنید و به تناسب اون خطا پیغامی رو به کاربر نشون بدید البته بهتره سعی کنید کار به اونجا نکشه و ما خودمون ورودی هایی که از کاربر میگیریم رو به درسی بررسی کنیم

RE: تشخیص نوع خطا در اتصال به پایگاه داده - ahmadi.m - 17 بهمن ۱۳۹۳ ۰۹:۳۰ ب.ظ

با استفاده از دستور
try
}
{
cache
}
{
throw
}
{
می تونید این کار را انجام بدید
مثلا اگه دیتا بیس Open نشد پیام خاصی نشون بده

تشخیص نوع خطا در اتصال به پایگاه داده - samaneh@90 - 17 بهمن ۱۳۹۳ ۱۰:۲۴ ب.ظ

به نظر من خوب نیست کاربرا بتونن نوع خطا رو تشخیص بدن!!!!! چون اونوقت میتونن به نوعی بفهمن چطوری به پایگاه داده تزریق کنن

RE: تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 17 بهمن ۱۳۹۳ ۱۰:۳۷ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۱۰:۲۴ ب.ظ)samaneh@90 نوشته شده توسط:  به نظر من خوب نیست کاربرا بتونن نوع خطا رو تشخیص بدن!!!!! چون اونوقت میتونن به نوعی بفهمن چطوری به پایگاه داده تزریق کنن

قرار نیس به کاربر پیغام رو نشون بدیم.خودم میخوام به نوع خطا دسترسی داشته باشم.

(۱۷ بهمن ۱۳۹۳ ۰۹:۲۵ ب.ظ)one hacker alone نوشته شده توسط:  سلام

اینجا دو بحث مطرح میشه:

۱- نحوه ی اتصال به بانک
* استفاده از ORM
* استفاده از کامپوننت هایی که سرویس اتصال رو provides می کنند

۲- نحوه ی کد نویسی
row sql استفاده شده یا نه

جواب کلی اینکه شما میتونید خطا رو هندل کنید و به تناسب اون خطا پیغامی رو به کاربر نشون بدید البته بهتره سعی کنید کار به اونجا نکشه و ما خودمون ورودی هایی که از کاربر میگیریم رو به درسی بررسی کنیم
خب ورودی ها که همون اول بررسی میشن.وقتی نتونه کانکشن رو اوپن کنه این خطا هایی که گفتم رخ میده.
یه جواب اینه که با توجه به شماره خطا ارور رو تشخیص بدیم.در واقع با استفاده از متغیری که از نوع Exception هست.میخواستم ببینم راه ساده تری نیس؟

تشخیص نوع خطا در اتصال به پایگاه داده - blackhalo1989 - 17 بهمن ۱۳۹۳ ۱۰:۵۳ ب.ظ

کار من سی شارپ نیست ولی به نظرم قبل از وصل شدن به پایگاه داده اینارو چک کنید.

RE: تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 17 بهمن ۱۳۹۳ ۱۱:۲۰ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۱۰:۵۳ ب.ظ)blackhalo1989 نوشته شده توسط:  کار من سی شارپ نیست ولی به نظرم قبل از وصل شدن به پایگاه داده اینارو چک کنید.

چگونه ؟! سوال این است..

تشخیص نوع خطا در اتصال به پایگاه داده - blackhalo1989 - 18 بهمن ۱۳۹۳ ۱۲:۲۰ ق.ظ

شرکت ها معمولا نیرو میفرستن تا سیستم رو براشون نصب کنه. احتیاجی به این کارها نیست اصلا.

تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 18 بهمن ۱۳۹۳ ۰۱:۲۲ ب.ظ

اینو میدونم ولی برای این پروژه ای که مینویسیم نیازه.

دوستان کسی راه حلی به ذهنش نرسید؟؟

RE: تشخیص نوع خطا در اتصال به پایگاه داده - Bahar_HS - 19 بهمن ۱۳۹۳ ۰۹:۵۸ ق.ظ

سلام،
به این لینک سر بزن.

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

یه راه دیگه که به ذهنم رسید اینه که در این قسمت از برنامه
catch (Exception ex)
{
Debug.WriteLine(ex);
}
که اگر خطایی باشه،پیغام رو میده،پیغام داده شده رو به جای نمایش برای خودت نگهدار و مثلا با مقایسه شماره ی ارور داده شده با شماره ارورهای موردنظرت، می تونی کاری رو که می خوای انجام بدی.

امیدوارم مفید بوده باشه!Smile

RE: تشخیص نوع خطا در اتصال به پایگاه داده - tabassomesayna - 19 بهمن ۱۳۹۳ ۰۲:۰۵ ب.ظ

(۱۹ بهمن ۱۳۹۳ ۰۹:۵۸ ق.ظ)Bahar_HS نوشته شده توسط:  یه راه دیگه که به ذهنم رسید اینه که در این قسمت از برنامه
catch (Exception ex)
{
Debug.WriteLine(ex);
}
که اگر خطایی باشه،پیغام رو میده،پیغام داده شده رو به جای نمایش برای خودت نگهدار و مثلا با مقایسه شماره ی ارور داده شده با شماره ارورهای موردنظرت، می تونی کاری رو که می خوای انجام بدی.

امیدوارم مفید بوده باشه!Smile
اره به این نتیجه رسیده بودم که باید شماره ی ارور کار کنم ولی یه چیزی که هست اینه که شماره ی ارور ها خیلی زیاده یکم کارو سخت میکنه.

RE: تشخیص نوع خطا در اتصال به پایگاه داده - Bahar_HS - 19 بهمن ۱۳۹۳ ۰۳:۱۶ ب.ظ

به این لینک مراجعه کنید:

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.

اگر می خواید همه ی اررورها رو تشخیص بده که باید همه رو در نظر بگیرید،لینک بالا اررورها رو دسته بندی کرده.می تونید براساس کلاس بندی گفته شده کار کنید.
می تونید فقط شماره اررورهای موردنظرتون رو در نظر بگیرید.و بقیه ی ارورها رو با یک پیغام یکسان در نظر بگیرید.