PDA

View Full Version : حرفه ای: ساخت بانک اطلاعاتی با sql 2008 و بردن ان به سیستم دیگر



negar.rafie
دوشنبه 05 تیر 1391, 18:54 عصر
باسلام
این سوال بارها و بارها پرسیده شده ولی متاسفانه به نتیجه نرسیده
ببینید دوستان مثلا ما با sql 2008 بانک اطلاعاتی خود را ایجاد کردیم
حالا تو سیستم خود ما sql 2008 نصب است و بدون هیچ مشکلی می توان با دیتابیس کار کرد.
حالا وقتی برنامه را به سیستم کاربر ببریم به طور قطع نباید دوباره کل sql 2008 را هم روی سیستم کاربر نصب کنیم
حال سوال این است که :
کدام قسمتهای sql 2008 را باید روی سیتم کاربر نصب کنیم؟
چطوری دیتابیس را به برنامه اتچ کنیم؟
وسوال مهمتر از چه کانکشن استرینگی استفاده کنیم؟

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

negar.rafie
سه شنبه 06 تیر 1391, 09:47 صبح
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟

veniz2008
سه شنبه 06 تیر 1391, 10:23 صبح
سلام،ساخت فایل setup برای پروژه دیگه واسه خود من یه آرزو شده( متاسفانه کسی هم پیدا نشده که این مشکل رو بصورت کامل حل کنه، هرکی میاد یه بخشی رو نصفه و نیمه توضیح میده و میره)، ولی میشه با خود ویژوال یک setup از فرم ها درست کنیم(آموزشش تو اینترنت زیاده)،فقط میمونه بحث دیتابیسش روی سیستم مقصد،میتونید خیلی راحت یه نرم افزار management studio 2008 Express رو از سایت مایکروسافت دانلود و بر روی سیستم مقصد نصب کنید(این نرم افزار رایگان رو با حجم بسیار کم( با حجم 168 مگابایت) میتونید از لینک زیر دانلود کنید)،خوبیش اینه که هم سریع نصب میشه هم محیطش دقیقا مثل sqlserver 2008 هست و شما براحتی پس از نصب میتونید بانک خودتون رو بهش attach کنید.
http://www.microsoft.com/en-us/download/details.aspx?id=7593
موفق باشید.

alias136790
چهارشنبه 07 تیر 1391, 01:39 صبح
سلام
ببین ، یه نرم افزار هست : sql server ce که حجمش هم خیلی کمه 2 مگ. ولی کاراییش از خود sql server کمتر مثلا اگه دیتابیست تحت شبکه باشه نمیشه از این نرم افزار استفاده کرد. و شیوه نوشتن کوئری و کد نویسی براش هم تقریبا مشابه sql هست .
و هنگام نوشتن کانکت استرینگ هم تو قسمت دیتا سورس بنویس Data Source=|datadirectory|\\DB.sdf که بصورت پیش فرض برنامه درنظر میگیره که دیتابیس تو فایل debug برنامه قرار داره. و بعد فایل config برنامه رو باز کن و تو قسمت کانکت استرینگ ، دیتا سورس رو مشابه بالا بنویس .
من این کانکت استرینگ رو برای دیتابیس اکسس و sql server ce تست کردم جواب داده.

samadblaj
چهارشنبه 07 تیر 1391, 04:01 صبح
سلام , برای اتچ کردن : باید وارد sql express شده و روی دیتابیس کلیک راست کرده و گزینه atach را بزنیم درسته؟؟؟

اگه درسته باید کدوم فایل رو اتچ کنیم mdf یا sdf ؟؟؟

تشکر

Y_Safaiee
چهارشنبه 07 تیر 1391, 04:37 صبح
با سلام خدمت شما دوستان گرامی

براتون لینک دانلود آموزش ساخت Setup توسط installshield رو میزارم انشاالله بتونه کمکتون کنه



http://s3.picofile.com/file/7420324187/Learning_installshield.rar.html


اینم لینک دانلود خود اینستال شیلد با ساپورت vs.net 2008 و dnet 3.5 به همراه کرک



http://p30download.com/fa/entry/1269/tx/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF%20%D8%A7%DB%8 C%D9%86%D8%B3%D8%AA%D8%A7%D9%84%20%D8%B4%DB%8C%D9% 84%D8%AF%20%D9%BE%D8%B1%DB%8C%D9%85%DB%8C%D8%B1%20 %D8%A8%D8%A7%20%D9%84%DB%8C%D9%86%DA%A9%20%D9%85%D 8%B3%D8%AA%D9%82%DB%8C%D9%85


موفق باشید
بایت بایت

negar.rafie
چهارشنبه 07 تیر 1391, 11:11 صبح
دوست عزیز Youuness من این کتاب را خونده بودم حالا چندتا سوال:
ایا اگر در قسمتی مربوط به انتخاب برنامه های جانبی است yes را انتخاب کنیم خود اینستال شیلد هر چیزی که برای کار با دیتابیس است را در فایل ستاپ قرار می دهد؟
حالا وقتی برنامه نصب کردیم ایا بانک اطلاعاتی به طور اتوماتیک اتچ می شود یا باید در اینستال شیلد تنظیمات دیگری نیز انجام دهیم؟
از چه کانکشن استرینگی در برنامه استفاده کنیم؟

samadblaj
چهارشنبه 07 تیر 1391, 18:19 عصر
حالا وقتی برنامه نصب کردیم ایا بانک اطلاعاتی به طور اتوماتیک اتچ می شود یا باید در اینستال شیلد تنظیمات دیگری نیز انجام دهیم؟
از چه کانکشن استرینگی در برنامه استفاده کنیم؟


منم همین قسمت سوال دارم یعنی اینکه بعد از نصب با هر کانکشنی که باشه و فایل توی پوشه پروژه باشه نیازی به atach کردن نیست؟

shocraneh
چهارشنبه 07 تیر 1391, 22:59 عصر
باسلام زمانی که ما فایل ست آپ رو میسازیم فقط فایل بانک (mdf وldf) رو به برنامه add می کنیم ولی برای اتچ اون باید مثلا روی فرم اول یه دکمه برای تچ بانک بزاریم اینم کداتچ ش

private void button3_Click(object sender, EventArgs e)
{
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = System.IO.File.ReadAllText(Application.StartupPath .ToString() + "\\constring1.txt", System.Text.Encoding.Default);
con.Open();

string str = "use master;" +
"EXECUTE sp_attach_db @dbname = N'"+DataBase_Name +"' , " +
" @filename1 = N'" + System.Environment.CurrentDirectory + "\\"+DataBase_Name+".mdf'," +
"@filename2 = N'" + System.Environment.CurrentDirectory + "\\"+.DataBase_Name+"_log.ldf'";

SqlCommand cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
con.Close();

MessageBox.Show("دیتا بیس با موفقیت اتچ شد ", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
}
catch (Exception x)
{
if (x.Message.IndexOf("already exists") >= 0)
{
button4.Visible = true;
MessageBox.Show("دیتابیس موجود است", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
}
else
MessageBox.Show(x.Message);
}
}
دوستان حتما براشون واضح شده که من چرا کانکشنم رو از تکست میخونم ؟ به خاطر اینکه قابلیت حمل داشته باشه و بعد از نصب اسم سرورم رو می تونم تو تکست ویرایش کنم
برای سساخت ست آپ: روی ویژوال استادیو new project-< other language-<setup w wizard ->
راست کلیک روی نام add file حالا exe برنامه و بانک (و البته تکسی که کانکشن استرینگ رو تنظیم میکنه)غیره بهش میدیدین .قسمت ساخت شورتکات روی دسک تاپ و بقیه تنظیمات ...هم داره. حالا روی اسم پروژه راست کلیک وpropertoes دکمهRequency حاا اینجا windows instaler . dotnet fremwork و sql express ورژنی متناسب با کارتون رو تیک میزنیدو ok
حالا از منوها گزینه build وتمام.

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

samadblaj
چهارشنبه 07 تیر 1391, 23:23 عصر
دیگر بعد از انجام این عمل setup سازی نیازی به هیچ گونه atachi نیست ???

alias136790
پنج شنبه 08 تیر 1391, 02:28 صبح
ببین بستگی به نوشتن کانکت استرینگی که تو برنامه مینویسی داره.
اگه تو قسمت دیتابیس کانکت استرینگ از آدرس دیتابیس استفاده کنی مثل Data Source=|datadirectory|\\DB.mdf نیازی به اتچ کردن نداری فقط تو این روش باید
دیتابیس در سیستم مقصد هم باید تو همون آدرس قرار بگیره .
دلیل نرم افزاری که معرفی کردم( sql server compact edition) هم همین بود که نیازی به اتچ کردن نداره هم حجمش پایینه(2 مگ)

ولی اگه تو قسمت دیتابیس کانکت استرینگ فقط بنویسی Data Source=DB.mdf اونوقت باید دیتابیس رو حتما اتچ کنی
برای اتچ کردن هم میتونی مثلا یه فرم تو پروژه جدید درست کنی و مثلا اسمشو بزاری کرک.

ببین برنامه نویسی آزمایش و خطا است تا امتحان نکنی نمیتونی بفهمی کجای برنامه ایراد داره.

shocraneh
پنج شنبه 08 تیر 1391, 11:40 صبح
ببین بستگی به نوشتن کانکت استرینگی که تو برنامه مینویسی داره.
اگه تو قسمت دیتابیس کانکت استرینگ از آدرس دیتابیس استفاده کنی مثل Data Source=|datadirectory|\\DB.mdf نیازی به اتچ کردن نداری فقط تو این روش باید
دیتابیس در سیستم مقصد هم باید تو همون آدرس قرار بگیره .
دلیل نرم افزاری که معرفی کردم( sql server compact edition) هم همین بود که نیازی به اتچ کردن نداره هم حجمش پایینه(2 مگ)

ولی اگه تو قسمت دیتابیس کانکت استرینگ فقط بنویسی Data Source=DB.mdf اونوقت باید دیتابیس رو حتما اتچ کنی
برای اتچ کردن هم میتونی مثلا یه فرم تو پروژه جدید درست کنی و مثلا اسمشو بزاری کرک.

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

shocraneh
پنج شنبه 08 تیر 1391, 11:43 صبح
دیگر بعد از انجام این عمل setup سازی نیازی به هیچ گونه atachi نیست ???

به شکل دستی نه . بانک که تومسیر نصب موجوده و از طریق کدی که گذاشتم میشه اتچش کرد(دکمه ای با عنوان تنظیم بانک اطلاعاتی...اگرم کاربر اشتباهی دوبار بزنه پیغام میده بانک موجوده ). مشکل گذاشت ؟؟

samadblaj
پنج شنبه 08 تیر 1391, 12:07 عصر
دوست من این روش اصلا کاردرستی نیست و همون طور که خودتون گفتید محدودیت داره

ممنونم از توضیحاتتون .فقط دوست عزیز میشه بگید چه محدودیت هایی داره.چون توی سایت مایکروسافت هم چند مثالی که دیدم مسیر داده بود.

میشه گذاشتش توی پوشه برنامه یا resource برنامه بعد با استفاده از مسیر مستقیم بهش application.path دسترسی داشت.

شکرانه جان آخه من بل کل از Linq استفاده میکنم. آیا این کد توی Linq هم تاثیر داره؟

negar.rafie
یک شنبه 15 مرداد 1391, 13:34 عصر
با توجه به توضیحات دوستمون که گفتند اگر sql expressرا نصب کنیم و کد اتچ را بنویسیم دیتابیس بدون مشکل اتچ میشه و میشه کارهایی مانند تعریفjob یا مثلا بک اپ اتوماتیک انجام داد
حالا مونده یه سوال و اینکه کانکشن استرینگ را کجا و چگونه تعریف کنیم؟

homayon_azizi
یک شنبه 15 مرداد 1391, 19:35 عصر
سلام
دوستان اینا همش اضافه کاریه. شما برای اینکه sql رو روی سیستم مقصد نصب نکنی باید جدول هاتو با sql express درست کنی سپس ...
اینجا یه فایل آموزشی با فیلم آموزش ساخت ستاپ رو براتون میذارم برید حالشو ببرید. هرکی هم کمک خواست بگه تا کمکش کنم.

لینک فیلم آموزش ساخت ستاپ (http://www.sourcegozar.com/%DA%A9%D9%84%DB%8C%D9%BE-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-%D8%B3%D8%A7%D8%AE%D8%AA-setup-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1/)

اینم آموزش sql express در سیستم مقصد (http://www.uploadbaz.com/1qft1cnhuo1r)

شما از این طریق دیگه نمیخواد کدی برای اتچ دیتابیستون بنویسید. خودش خودکار اتچ میکنه
(http://www.uploadbaz.com/1qft1cnhuo1r)