بزار یکم با جزییات بیشتر توضیح بدم
اول از همه یه سناریو تعریف میکنم
مشتری ما از هیچ چیزی که مربوط به برنامه نویسیه سر در نمیاره پس همه چیز به گردن خودمونه حتی این مشتری عزضه اجرای یه خط کد توی cmd رو هم نداره
حالا میرسیم به سیستمش که احتمال قوی میدیم اصلا هیچ قسمتی از sql روی سیستمش نصب نیست
ما مستقیما به سیستم مشتری دسترسی نداریم و مشتری خودش برنامه رو نصب میکنه
خب حالا نوبت ماست طبق مطالبی که گفتم میفهمیم که اول باید مراحل نصب و اجرای برنامه خیلی کوتاه و اسون باشن
اولین کاری که مشتری باید بکنه نصب برنامه localdb هست
دومین کار نصب خود برنامه هست
بعد از این دو مرحله باید روی localdb یه instance ایجاد کنیم
که چند راه داره
- وقتی که پروژه رو اجرا کرد این instance ایجاد شده و start بشه
خب برای انجام اینکار باید کد زیر رو توی formLoad پروژه ات جرا کنی
System.Diagnostics.Process.Start("CMD.exe", "/C sqlLocaldb create <instanceName> -s");
2.میتونیم یه فایل bat توی فولدر startup سیستمش بسازیم که هر بار که سیستمش رو روشن کرد این instance هم راه بیوفته
برای اینکار توی notePat این متن زیر رو بنویسید و با فرمت bat ذخیره اش کنین
sqlLocaldb create <instanceName> -s
بعد از اینکه تونستید یه instance روی سیستم مشتری ایجاد کنید و start کنید وقت اینه که پایگاه داده تون رو انتقال بدید که اون هم چند راه داره
- BackUp&Restore
- Script
- Attatch
اگه توی اینا هم سوال دارید میتونید بپرسید و اینم بگم که چیزی که من خودم ترجیح میدم Script هست
اخرین مرحله مقدار دهی ConnectionString هست که میشه چیزی شبیه به متن زیر باشه
(localdb)\<instanceName>;AttachDbFilename=" + Application.StartupPath + @"\DB\asnaf.mdf;Integrated Security = True