PDA

View Full Version : اتصال به SQL در شبکه محلی



saeed.8350028
شنبه 27 آبان 1391, 12:58 عصر
سلام دوستان
من می خوام به بانکی که روی یک کامپیوتر دیگه هست وصل بشم ولی زمانی که سعی می کنم یک user جدید در sql بسازم که از طریق اون به بانک وصل بشم خطای زیر را بهم می ده.
شبکه سالمه و ping را دارم.
لطفا کمک کنید

hamid-nic
شنبه 27 آبان 1391, 13:26 عصر
سلام
اون بانکی که قراره بهش متصل بشید چه نسخه ای از sql است ؟ روی ویندوز سرور نصب شده ؟
صرفاً ping دادن دلیل بر ارتباط نیست !
یک سری تنظیمات برای remote conection وجود داره که اگر سرچ کنید در همین فروم پیدا می کنید .
اگر با اونها مشکل رفع نشد اطلاع بفرمایید.
موفق باشید.

saeed.8350028
شنبه 27 آبان 1391, 23:05 عصر
سلام مرسی از توجهتون
مشکل قبلی حل شد ولی . . .
sql 2008 استفاده می کنم و ویندوز 7 یا xp فعلا ولی بعدا باید تبدیل به سرور بشه.
الان من داخل sql سرور روی نام سرور کلیک راست می کنم و properties می گیرم بعد توی security گزینه SQL server and windows authentication mode را انتخاب می کنم بعد در قسمت connection گزینه allow remote connection on this server را تیک دار می کنم.حالا ok می کنم بعد توی قسمت security یک login می سازم و در security پایگاه مورد نظرم یک user جدید می سازم.
ولی نمی تونم به پایگاهم وصل بشم!
به غیر از این مراحل کار دیگه ای باید انجام بدم؟ لطفا راهنمایی کنید

hamid-nic
شنبه 27 آبان 1391, 23:33 عصر
علاوه بر مواردی که گفتید
ابتدا سعی کنید با یوزر sa وارد بشید البته قبلش باید برای یوزر sa پسورد تعیین کنید یعنی توی همون قسمت security و بعد Logins یوزر sa پیدا کرده کلید راست و سپس properties را زده و در قسمت password و confrim password مقداری مشابه را وارد کرده و همچنین به موارد زیر دقت کنید :
- در قسمت user mapping نام دیتابیس شما وجود داشته باشه .
- در قسمت status مقدار login برابر با enabled باشه .

حال باید با ریستارت کردن سرویس بتوانید با یوزر sa وارد شوید .
امتحان کنید .

Felony
یک شنبه 28 آبان 1391, 05:17 صبح
شبکتون Domain هست ؟ اگر بله باید از لیست آبجکت های ارائه شده در Domain یکی رو انتخب کنید ( نام دامین + Username )

saeed.8350028
یک شنبه 28 آبان 1391, 08:09 صبح
شبکتون Domain هست ؟ اگر بله باید از لیست آبجکت های ارائه شده در Domain یکی رو انتخب کنید ( نام دامین + Username )

سلام مجتبی جان
نه workgroup است

saeed.8350028
یک شنبه 28 آبان 1391, 08:26 صبح
با کمک آقا حمید عزیز و آقا مجتبی مشکلم حل شد.
توی sql server configuration manager بعد sql network configuration بعد protocols for MSSQLSERVER گزینه named pipes را enable کردم و firewall را هم خاموش کردم

خوب حالا فرض کنیم که می خوایم یک برنامه نصبی بسازیم که ممکنه توی هر شبکه ای با هر ip نصب بشه یا سرور ip متفاوتی داشته باشه برای این حالت باید چکار کرد؟ من از LINQ برای اتصال استفاده می کنم چه طور می تونم ip و نام کاربری که تعریف کردم را از کاربر بگیرم و در تنظیمات linq قرار بدم؟

saeed.8350028
یک شنبه 28 آبان 1391, 08:36 صبح
علاوه بر مواردی که گفتید
ابتدا سعی کنید با یوزر sa وارد بشید البته قبلش باید برای یوزر sa پسورد تعیین کنید یعنی توی همون قسمت security و بعد Logins یوزر sa پیدا کرده کلید راست و سپس properties را زده و در قسمت password و confrim password مقداری مشابه را وارد کرده و همچنین به موارد زیر دقت کنید :
- در قسمت user mapping نام دیتابیس شما وجود داشته باشه .
- در قسمت status مقدار login برابر با enabled باشه .



حال باید با ریستارت کردن سرویس بتوانید با یوزر sa وارد شوید .
امتحان کنید .
سلام حمید جان
زمانی که می خواهم تغییرات شما روی sa را پیاده کنم خطای زیر را میده
95147

hamid-nic
یک شنبه 28 آبان 1391, 10:06 صبح
خوب حالا فرض کنیم که می خوایم یک برنامه نصبی بسازیم که ممکنه توی هر شبکه ای با هر ip نصب بشه یا سرور ip متفاوتی داشته باشه برای این حالت باید چکار کرد؟ من از LINQ برای اتصال استفاده می کنم چه طور می تونم ip و نام کاربری که تعریف کردم را از کاربر بگیرم و در تنظیمات linq قرار بدم؟ روش های مختلفی وجود داره که بتوانید از آی پی و نام سرور های متغیر استفاده کنید ساده ترین حالت گرفتن نام آی پی و یا نام سرور در هنگام نصب و گذاشتن آن در یک فایل INI در کنار برنامه و در هنگام اجرا از آن استفاده کنید البته این ساده ترین حالت ممکن است میشه توی رجیستری ذخیره کرد یا از بانک های portabl مثل sqlite استفاده کنید و موارد را hash و ناخوانا قرار بدهید به هر حال هر کدام را که خواستید در سایت بحث شده می توانید آن را پیدا کرده و استفاده کنید .

زمانی که می خواهم تغییرات شما روی sa را پیاده کنم خطای زیر را میدهاحتمالاً خواستید rol های دیگری به غیر از db_owner را به sa اختصاص بدهید که این خطا را دریافت کردید.
البته اگر خواستید مالکیت دیتابیس را به sa بدهید از script زیر هم جواب می گیرید .
use TheNameOfYourDatabase
exec sp_changedbowner 'sa', 'true'