ساخت فایل نصبی از wpf و تعیین کانکشن استرینگ با Entity framework
سلام خسته نباشید.
ببخشید من یک نرم افزار دارم که UI آن را با WPF و دیتابیس SQL Server 2014 و روش ارتباط Entity framework استفاده کردم.
الان میخوام از نرم افزار فایل نصبی بسازم بدون اینکه روی کامپیوتر کلاینت sql server نصب کنم و فایل دیتابیس bak را آنجا ری استور کنم. چون که این اصلا اصولی نیست و دیتابیس در دسترس مشتری قرار میگیره و این اصلا منطقی هم نیست که روی سیستم طرف sql server را نصب کرد.
اینترنت زیاد سرچ کردم روش فایل نصبی را فهمیدم ولی همه روش ها دیتابیس را با روش local sql server خود ویژوال استودیو می ساختند که قطعا کانکشن استرینگ آنها تا من تفاوت زیادی داره من کانکشن استرینگ خودمو میزارم لطف کنید بگید چجوری تغیرش بدم ممنون.
این کانکشن استرینگ من است:
<connectionStrings>
<add name="AslabiDB1Entities" connectionString="metadata=res://*/AslamiDbContext.csdl|res://*/AslamiDbContext.ssdl|res://*/AslamiDbContext.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=AslabiDB1;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
روش هایی که دیدم کانکشن استرینگ را به این حالت تغیر میدادند که فکر کنم به خاطر اینکه من از Entity framework استفاده کردم از این خاطر برای من خطا میده.
نکته: من در این روش دو فایل که با پسوند .log , mdf است را داخل پوشه Debug نرم افزار خود هم کپی کردم:
<add name="AslabiDB1Entities"
connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDBFilename=|DataDirectory|\AslabiDB1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
اینم عکس از محیط سلوشن من : چون سیستم بزرگ نبود پروژه UI را نسبت به دیتابیس جدا نکردم.
ببینید چند نکته در مورد سوال شما وجود داره.
نکته اول : چرا فکر می کنید اگر روی سیستم Client شما Sql Server نصب کنید اصولی نیست ؟ فرض کنید که دیتابیس در دسترس مشتری قرار بگیره. خب شما وقتی فایل نصبی ایجاد می کنید و به مشتری تحویل می دهید اطلاعات خود مشتری در دیتابیس ذخیره می شود. حالا اگر مشتری به دیتابیس دسترسی هم پیدا کنه اطلاعات خودش هست و خطری برای سیستم یا برای سایر مشتریان شما نداره.
نکته دوم : شما موقعی که Sql Server یا Sql Server Express رو نصب می کنید میتونید روی دیتابیس رمز عبور قرار بدید و مطمئنا مشتری نمی تونه رمز عبور رو باز کنه.
نکته سوم : شما می فرمایید که به جای استفاده از فایل bak از فایلهای mdf و ldf استفاده می کنید. خب این فایل ها هم همون فایل های اطلاعات و دیتابیس هستند و در دسترس مشتری. بنابراین اگر bak امنیت نداره فایل های mdf و ldf هم امنیت ندارن.
نکته چهارم : اگر شما میخواهید از نرم افزار خودتون فایل نصبی ایجاد کنید پس نرم افزار شما یک سیستم تک کاربره هست. برای سیستم های تک کاربره باید از Sql Server Express استفاده میشه نه از Sql Server Enterprise. خب شما میتونید از Server Explorer خود ویژوال استودیو هم استفاده کنید برای این کار.
در آخر شما توضیحی در مورد روش کارتون ندادید و فقط 2 تا کانکشن استرینگ رو قرار دادید که هیچ اطلاعاتی نمیشه از این کدهای شما کسب کرد. اگر میخواید بهتر و دقیق تر راهنمایی دریافت کنید باید اطلاعات بیشتری در مورد کاری که انجام دادید بگید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- رفع خطا در مایگریشن - Specify ON DELETE NO ACTION or ON UPDATE NO ACTION
- جابه جایی سطر و ستون در Sql Server
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- نحوه بزرگنمایی بخش خاصی از یک تصویر در WPF
- نحوه استفاده از رویداد SelectionChanged در WPF