PDA

View Full Version : اتصال به یک پایگاه داده در sql server 2005 به صورت remote در یک برنامه به زبان سی شارپ



khosro hoseini
یک شنبه 06 فروردین 1391, 13:49 عصر
با عرض سلام خدمت همه دوستان.
پیشاپیش بگم که توی اینترنت و همین سایت در مورد این سوالم زیاد گشتم ولی به نتیجه نرسیدم.
من دارم یه برنامه کوچولو مینویسم که به یک پایگاه داده راه دور بر روی sql server 2005 متصل بشه وتوی یکی از جدولهاش یک رکورد رو ثبت کنه.یعنی برنامه بر روی کامپیوتر شماره 1 هستش و پایگاه داده بر روی کامپیوتر شماره 2.
لازم به توضیحه که در کامپیوتر شماره دو که sql server روش نصبه و بانک اطلاعاتی روش قرار داره کارهای زیر رو انجام دادم:
-فایر وال غیر فعال شده
-server authentication رو روی sql server and windows authentication mode قرار دادم
-allow remote connection رو در sql server تیک زدم.
-ping بین کامپیوتر شماره 1 و شماره 2 برقرار میباشد
حالا مشکل اینجاست که وقتی میخوام به پایگاه داده test از طریق برنامه ای که نوشتم متصل بشم خطای زیر رو میده

cannote open database "test" requested by login. the login failed. login failed for user'sa'

رشته اتصال من به صورت زیر است:

string connectionstring = "server=10.1.1.1;database=test;uid=sa;pwd=password
لازم به ذکره که من با یوزر sa میتونم به صورت محلی به sql server لاگین کنم.
همچنین در صورتی که در رشته اتصالم به جای پایگاه داده test پایگاه داده master رو مینویسم برنامه بدون مشکل به پایگاه داده msaster لاگین میکنه .ولی متاسفانه وقتی پایگاه داده test رو در رشته اتصالم مینویسم موقعی که کانکشن میخواد open بشه بهم خطای بالا رو میده.
خطا رو در connection.open() میده

tazaree
دوشنبه 29 آبان 1391, 19:33 عصر
سلام
خوب اگر مشکلتون حل شد بفرمایید چطوری حل شده؟ آخه الآن من هم مشابه مشکل شما را دارم.
ممنون

sirvan-me
سه شنبه 30 آبان 1391, 09:51 صبح
شما باید به User ی که ساختین از قسمت مربوطه اجازه ی دسترسی به دیتابیس های مورد نظرتون رو بدین ....
شاخه ی دیتابیستون رو باز کنید به بخش Security برید بعد روی User راست کلیک کنید و New User رو کلیک کنید ... اونجا User رو و دسترسی هاشو مشخص کنید و ...

sirvan-me
سه شنبه 30 آبان 1391, 09:56 صبح
لازم به ذکره برای User تون + Instance تون خاصیت SQL Authentication فعال کنید . چون قراره به صورت اتوماتیک تو شبکه ی محلی کانکت شین .