برای ساخت setup برنامه به نظر دوستان کدام را بهتر است؟
1: mdf و ldf را مستقیم یک کد بنویسم و به database وصل کنم
2: از script database استفاده کنم
دلایل منطقی برای هر کدام نیاز است که کدام بهتر است
برای ساخت setup برنامه به نظر دوستان کدام را بهتر است؟
1: mdf و ldf را مستقیم یک کد بنویسم و به database وصل کنم
2: از script database استفاده کنم
دلایل منطقی برای هر کدام نیاز است که کدام بهتر است
خوبه که بچه ها این همه فعالا و جواب دادن :D
سلام
من سوال رو متوجه نشدم !!!!
وقتی من ستاپ می سازم فایل های دیتابس ور انتخاب می کنم و بعد ستاپ برنامه رو می سازم
آیا ؟ شما می خوای بگید که در اولین اجرای برنامه فایل دیتابس ساخته بشه؟
یا اصلا موضوع چیزی دیگه ای هستش ؟؟
ممنون باسوالتون بازم راهنمای کنید
اول تشکر کنم که پست را جواب دادین.
من نرم افزار را روی کامپیوتر مقصد نصب می کنم و sql sever را هم نصب می کنم حال نوبت اضافه شدن database برنامه به sql sever است 2 راه وجود دارد برای این کار:
1 : بعد از نصب sql sever در زمان اجرای نرم افزار خودم script دیتابیس خود را run کنم تا دیتابیسم در sql sever ایجاد شود
2: یا می توانم mdf و ldf دیتابیس را کنار exe پروژه قرار بدهم و در زمان اجرا برنامه خودم mdf را به sqlsever attach کنم
کدام راه حالا بهتر است؟
سلام دوست عزیز
فایل های دیتابیست رو بزار توی پوشه دیباگ پروژت و از کانکشن استرینگ زیر استفاده کن.در این صورت دیگه نیازی به اتچ کردن هم نداری
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\SELLPC.mdf;Integrated Security=True;User Instance=True";
سلام
من بیشتر سعی می کنم دیتابیس رو با اسکریپت به SQL SERVER اتچ کنم.
بعضی موقع ها لازم هست دیتابیس خام نباشه و یه سری داده توش قرار داده بشه قبل اینکه در محل نصب، اتچ شه.که نمیشه از اسکریپت ساخت دیتابیس استفاده کرد.
می توان script با Data گرفت که وقتی باز شود همه data ها هم اضافه شود
الان منظورتونو فهميدم چي بودش
من اشتباه برداشت كردم
kasi az dustan dalili peyda nakard?
.................
سلام دوست عزیز
به نظر من اتچ کردن دیتابیست به SQL server در اولین نسخه از برنامه بهتره!! به دلیل اینکههمون اجرای اسکریپت در برنامه (ولو اینکه یکبار بیشتر این اتفاق نمی افته) زمان بره!!یعنی شما که می تونید دیتابیس آماده رو 3 سوت به اسکوئل اتچ کنید چه کاریه یه کد طولانیی بنویسید که اینکارو انجام بده!!
اما زمانی که برنامه تون رو نسخه دوم و سوم و n ام رو خواستید نصب کنید اگر در ساختار دیتابیس شما تغییری ایجاد شده بود (یعنی در یک جدول فیلدی اضافه یا کم شود) شما میتونید از روش اسکریپت نویسی اون یه کد رو تویه دیتابیس سیستم مقد هم اضافه کنید!
یعنی هر دو روش خوبه ولی در جای خودش!!
با سلام
می دونم نظرم ممکن به سوال ربطی نداشته باشه، ولی چرا به جای این همه دردسر نمی آیی و از sqlight استفاده کنی، نیاز به نصب توی سیستم کاربر هم نمی خواد.
با سلام
من روشی که آقای firoozi90 گفتن رو خیلی جاها خوندم اما به نظرم یه ایرادی که داره اینه که اگر از این روش استفاده بشه با فایل های دیتابیس شما مثل اکسس برخورد میشه و دیتابیس بصورت آنلاین با نرم افزار اس کیو ال سرور ارتباط نداره.
یعنی موقعی که نیاز به انجام عملی پیش میاد یه لحظه ارتباط برقرار میشه و عملیات انجام میشه و ارتباط قطع میشه.
واسه همینه که اگر به محل فایل های دیتابیس برید می تونید به سادگی اون فایل ها رو حذف یا جابجا کنید.
به نظرم اسکریپت نویسی خیلی بهتره و در کل چون ارتباط دائمی داره توی انجام عملیات برای تعداد رکورد بالا سرعت عمل بهتری خواهد داشت.
موفق باشید.
سلام عزیزان
این را هم در نظر بگیرید که اضافه کردن دیتا بیس به فایل ستاپ حجم فایل را زیاد میکنه
و کار پشتیبانی اینترنتی , مانند ارسال فایل برنامه از طریق خط تلفن را طولانی تر میکنه.
باسلام دوستمون درست میگه ،چون یه سری جداول مثل جدول یوزرها و ... باید مقدار داشته باشه بهتره فایل خود بانک اتچ بشه
....................
با سلامسلام
آیا با این روش دیتابیس اتوماتیک اتچ میشه؟ نیازی هست که اس کیو ال اکسپرس رو هم نصب کرد؟ من دیتابیسم اس کیو ال 2008 هست . اگه نیاز هست اکسپرس هم نصب بشه برا 2008 باید چگونه کار کنم!
ممنون از پاسخ خوبتون.
نه دوست عزیز اتچ دیگه چه صیغه ای؟!!!
هیچی هم نیاز نداره که نصب کنی، کلا عملیات ها با ضمیمه کردن یک فایل dll انجام میشه، فایل دیتابیس که یک فایل کوچک است(البته در ابتدا) کنار فایل اصلی برنامه در پوشه debug یا realse قرار بدید(پوشه ای که خود برنامه در اون جا است)، و به صورت زیر می توانید از کد زیر استفاده کنید.
using System.Data.SQLite;
var connection = new SQLiteConnection(@"Data Source=" +
@"mydb.db;Version=3;");
try
{
connection.Open();
}
catch
{
MessageBox.Show("!برنامه نمی تواند به پایگاه داده متصل شود", "خطا در برقراری ارتباط");
}