PDA

View Full Version : جلوگیری از خطای "SQL Server 2005 does not allow remote connections"



Behrouz_Rad
چهارشنبه 18 بهمن 1385, 08:34 صبح
خطایی که در شکل زیر مشاهده می کنید، خطای متداولی هست که برای اکثر دوستان برنامه نویس (از جمله بنده) رخ داده:

http://i13.tinypic.com/450rldt.gif

پس از اینکه تمامی اینترنت رو وجب به وجب جستجو کردم و همگی راه حل ها به انجام تنظیماتی در SQL Server برای دادن مجوز Remote Connections منتهی میشد و تمامی این تنظیمات به طور پیش فرض (حداقل در نسخه ی Enterprise) ست شده اند، هیچکدام مشکل بنده را حل نکرد!، در نهایت در یک حرکت انتحاری(!)، موفق شدم این مشکل رو حل کنم.
با توجه به اینکه گفته میشد Connection String در نسخه ی 2000 و 2005 تغییری نکرده، وقت خود را صرف دستکاری پارامترهای Connection String کردم و در نهایت تعجب(!) و شگفتی بسیار، متوجه شدم که عبارت "Data Source" در Connection String باعث بروز خطای فوق میشه!!!
به جای این عبارت، کلمات "Database" یا "Initial Catalog" باید قرار بگیرند!

مشکل بنده از این طریق حل شد.
دوستان دیگه هم اگر این مورد رو تست کنند، لطف بسیاری کردند.

موفق باشید.

aidin300
چهارشنبه 18 بهمن 1385, 09:23 صبح
سلام
به پیکر بندی شبکه SQL Server مربو ط نیست؟ لازم نیست پروتکل TCP/IP رو فعال کنیم؟

anubis_ir
چهارشنبه 18 بهمن 1385, 12:37 عصر
هر وقت دقیقا این مشکل برای من پیش میاد سرویس اس کیوال سرور از کار افتاده و یکبار باید استارت شود. به این صورت مشکل حل می‌شود.

Behrouz_Rad
چهارشنبه 18 بهمن 1385, 12:48 عصر
هیچ کدوم از 2 موردی که دوستان فرمودند باعث بروز مشکل (حداقل برای بنده) نبود.
TCP/IP ست شده بوده و SQL Server نیز Run بوده

whitehat
چهارشنبه 18 بهمن 1385, 13:30 عصر
متوجه شدم که عبارت "Data Source" در Connection String باعث بروز خطای فوق میشه!!!
این می تونه طبیعی باشه (هر چند که از وقتی Connection String ها را با VS.2005 می سازم به این مشکل دیگر برنخوردم) چون در 2005 هنگامی که با ویزارد ساخته میشه این نام به Initial Catalog تغییر پیدا می کنه.

aidin300
چهارشنبه 18 بهمن 1385, 16:23 عصر
اینجا توضیح کاملی داده، احتمال زیاد مشکل شما هم همینه
چون من تو Connection String از Data Sourceاستفاده می کنم ولی مشکلی ایجاد نمی شه
http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277

Behrouz_Rad
چهارشنبه 18 بهمن 1385, 18:35 عصر
اینجا توضیح کاملی داده، احتمال زیاد مشکل شما هم همینه
چون من تو Connection String از Data Sourceاستفاده می کنم ولی مشکلی ایجاد نمی شه
http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277

پس از اینکه تمامی اینترنت رو وجب به وجب جستجو کردم و همگی راه حل ها به انجام تنظیماتی در SQL Server برای دادن مجوز Remote Connections منتهی میشد
...............

حامد صیفی
چهارشنبه 18 بهمن 1385, 22:41 عصر
اینجا توضیح کاملی داده، احتمال زیاد مشکل شما هم همینه
چون من تو Connection String از Data Sourceاستفاده می کنم ولی مشکلی ایجاد نمی شه
http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277

لینکی را که شما قرار داده اید ، برقراری اتصال صحیح با این پایگاه داده را به طور کامل و دقیق بیان کرده است. اما با اینکه اعلام شده است که از لحاظ Connection String تفاوتی میان 2000و2005 نیست ، اما ضریب بروز این خطا در موقعی که از Data Source استفاده میکنیم بیشتر است. من هم هر وقت این مشکل پیش میاد Connection String رو از Server Explorer به دست میآرم و درست میشه. اما این یک دلیل علمی ندارد که باید از Initial Catalog استفاده کنیم و میتواند یکی دیگر از مشکلات Microsoft باشد

programmermp
پنج شنبه 19 بهمن 1385, 14:22 عصر
سلام

اقای راد می شه بگید این خطا کی ظاهر می شه

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

می شه یا اینکه رو ی کامپیوتر خودمون هم ممکنه این خطا رو بده

من که از کد زیر استفاده می کنم برای کانکشن و خطا هم نداده تا حالا توی کامپیوتر خودم



"Data Source=.;Initial Catalog=mp;Integrated Security=True"


حالا نمی دونم کجا ممکنه این خطا رو بده

با تشکر

ali_kolahdoozan
پنج شنبه 19 بهمن 1385, 14:32 عصر
اگر نام یا ip سرور یا سیستم خودتون اشتباه باشه یکی از دلایلی است که این ایراد رخ میده . اگر روی شبکه هستید پرمیشن ها رو چک کنید . در 90 % موارد ایراد همین بوده