PDA

View Full Version : سوال: اتصال به sqlexpress با استفاده از entity framework



kooroshheydarirad
سه شنبه 09 مرداد 1397, 15:25 عصر
با سلام

یه برنامه داریم توی visual studio 2017 نوشتم که از entity framewok 6 استفاده کردم و دیتابیسم با فرمت mdf توی پروژه هست .
وقتی اجرا میکنم به درستی کار میکنه اما وقتی ستاپ میسازم و روی یه کامپیوتر دیگه نصب می کنم خطایی میده با این عنوان The underlying provider faild on Open

و یه تحقیقی کردم متوجه شدم که از رشته کانکشنم هست ولی نمیدونم چطور باید برطرفش کنم

barnamenevisjavan
سه شنبه 09 مرداد 1397, 17:57 عصر
با سلام

یه برنامه داریم توی visual studio 2017 نوشتم که از entity framewok 6 استفاده کردم و دیتابیسم با فرمت mdf توی پروژه هست .
وقتی اجرا میکنم به درستی کار میکنه اما وقتی ستاپ میسازم و روی یه کامپیوتر دیگه نصب می کنم خطایی میده با این عنوان The underlying provider faild on Open

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

kooroshheydarirad
چهارشنبه 10 مرداد 1397, 08:31 صبح
با سلام مجدد

تصمیم گرفتم که از SQL SERVER 2008 استفاده کنم

چندتا سوال برام داره

اول اینکه میخام یه فرم تو برنامم بنویسم که ادمین بهش دسترسی داشته باشه و یوزر نیم و پسورد و آدرس سرور رو بگیره و بصورت یه کانکشن استرین توی برنامه ازش استفاده کنم. شدنیه ؟

دوم اینکه یه توضیح بهم بدین اگه برنامه رو جایی نصب کنم باید حتما به صورت دستی پایگاه داده رو روی SQL SERVER قرار بدم ؟

سوم اینکه یه متن نمونه از کانکشن برای اتصال به SQL SERVER 2008 اونم برای ENTITY FRAMEWORK V6 برم قرار بدین

رامین مرادی
چهارشنبه 10 مرداد 1397, 08:39 صبح
سلام
1- بله شدنیه
2- همون فرمی که گذاشتید میتونید یه قسمت اتچ هم بزارید تا دیتابیس رو اتچ کنید
3-https://www.connectionstrings.com/sql-server/ اینجا میتونه کمکتون کنه

mr.sirwan
چهارشنبه 10 مرداد 1397, 11:44 صبح
برای sql express میتونی از این کانکشن سترینگ استفاده کنی:
Integrated Security=SSPI;Initial Catalog=DbName;Data Source=.\SQLExpress;
مورد بعدی اینکه اگه از مد code first استفاده میکنی، در اولین ارتباط، خود EF دیتابیس رو واست میسازه پس نیازی به اتچ کردن توسط شما نیست

یه مورد دیگه هم اینکه اگه دیتابیس برنامه ت بزرگ نیست و در حد یه برنامه کوچیک رو به متوسطه، پیشنهاد میکنم از همون sql express استفاده کنی چون حجم ستاپ موتور sql express نهایتن 250 مگه و میتونی توی Setup نرم افزارت بذاریش و بدون اینکه کاربر متوجه بشه روی سیستمش نصبش کنی و جوابگوی تمامی نیازهات خواهد بود، اما اگه از sql server full استفاده کنی کاربر (که اصلا دانشی درمورد نصب چنین نرم افزاری نداره) باید خودش بیاد نرم افزار sql server با 4-5 گیگ حجم رو روی سیستمش نصب کنه (حالا فرض میکنیم شما راهنمای نصب sql server رو هم بهش میدی) که این واسه نرم افزار های عمومی اصلا قابل قبول و قابل توجیه نیست

sql server full رو اکثرا در مواقعی استفاده میکنیم که دیتابیس قراره توی سرور مستقر شه، یعنی کامپیوتر سرور با کلاینت ها مجزا باشه

kooroshheydarirad
چهارشنبه 10 مرداد 1397, 14:44 عصر
با سلام

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

بر همین اساس برام بهتره که از sql server بهره ببرم (واسه express هم چنتا نرم افزار نیازه که نصب بشه ==> sql server express - localDB - و یه چی دیگه هم بود)

مدل کار با entity framework هم code first نیست چون نرسیدم یادش بگیرم (کارم عجله ایه)

unique2017
چهارشنبه 10 مرداد 1397, 14:59 عصر
ممنون این مشکل من هم بود