PDA

View Full Version : نحوه اتچ کردن دیتا بیس به پروژه به چه شکله؟



samadblaj
پنج شنبه 28 اردیبهشت 1391, 17:06 عصر
سلام

ببخشید میشه بگید نحوه اتچ کردن دیتا بیس به پروژه به چه شکله؟

sql 2008 لطفا اگه میشه با یه عکس بگید، خیلی مبتدیم.

ممنونم

arash ghafori
پنج شنبه 28 اردیبهشت 1391, 19:54 عصر
توی سمت راست صفحه ی برنامه ، یه پنل هست به اسم Solution Explorer یه دکمه به اسم Show All داره.

اون رو بزنی دو تا پوشه توی همون پنل نشون میده .

بانکت رو توی پوشه ی Bin قسمت Debug بریز.

اینم عکسش :
87163

samadblaj
پنج شنبه 28 اردیبهشت 1391, 22:23 عصر
به همین سادگی : بعضی جاها دیدم کد مینوشتن.

ببخشید فرمت بانک اطلاعات sql server که sql هست چرا اینجا mdf هست؟

arash ghafori
پنج شنبه 28 اردیبهشت 1391, 23:28 عصر
یه سری اطلاعات از قبیل ریپورت و فایل های Mdf , ldf و... رو اینجا میزارن که دیگه وقتی برنامه exe شد ، دیگه نره دنبال این فایلا بگرده.
نه. بانکتون همون mdf هستش.

senaps
جمعه 29 اردیبهشت 1391, 02:47 صبح
دوستان اگر اینجوری بانک رو بذاریم، دیگه نمیخواد تو سیستم هدف به سرور اضافه اش بکنیم و همین که روی سیستم سی کو ال سرور نصب باشه کافیه؟!

arminkhodaei
جمعه 29 اردیبهشت 1391, 16:45 عصر
خیر، این طور نیست. شما باید Attach را در سیستم هدف انجام دهید.

مگر این که از AutoAttachDB استفاده کنید. جستوجو کنید نتایج خوبی پیدا میکنید.

samadblaj
جمعه 29 اردیبهشت 1391, 18:10 عصر
ببخشید در چه صورت نیاز به اتچ کردن بانک نیست؟ حتی اگه توی پوشه نصب قرارش بدیم؟

بعد از ساخت setup این مشکل حل میشه؟

ko-mohammad
شنبه 30 اردیبهشت 1391, 01:00 صبح
ببخشید در چه صورت نیاز به اتچ کردن بانک نیست؟ حتی اگه توی پوشه نصب قرارش بدیم؟

بعد از ساخت setup این مشکل حل میشه؟
1-اگه از SQL server استفاده می کنی باید حتما attach کنی
2-تو پوشه نصب برای این قرار می دیم که وقتی که برنامه نصب می شه دیتابیس هم کپی بشه تا بتونیم attach کنیم
البته میشه موقع نصب، دیتابیس و جدول هاش رو دوباره ساخت تا نیازی به attach کردن دیتابیس نباشه

samadblaj
شنبه 30 اردیبهشت 1391, 01:22 صبح
البته میشه موقع نصب دیتابیس و جدول هاش رو دوباره ساخت تا نیازی به attach کردن دیتابیس نباشه

ببخشید میشه خلاصه اینو توضیح بدید به چه شکله ممنونم.

senaps
شنبه 30 اردیبهشت 1391, 01:27 صبح
اخه یکی از دوستام یه پروژه بهش انداخته بودن!! اینم داده بود به من که ببینم مسئلش چیه و درستش بکنم....
هر کاری کردم اتچ نشد..... در کمال تعجب وقتی اجراش کردم، دیدم کار میکنه و اصلا نیازی به اتچ هم نداشته!!!!!

تو سلوشن اکسپلورر بود فایل دیتابیس و تو پوشه ی فایل های پروژه و نه فایل های کامپایل نهایی......

داستان اون پروژه چیه اونوخت؟

samadblaj
شنبه 30 اردیبهشت 1391, 01:35 صبح
یعنی نیاز به اتچ نداشت ، میشه واضح تر بگید کجا.

فایل دیتا توی پوشه bin بود؟

arash ghafori
شنبه 30 اردیبهشت 1391, 10:19 صبح
با سلام.
من هروقت پروژه ای که به صورت ستاپ یا exe تحویل کسی دادم طبق همون پست 2 عمل کردم ، درستم کار کرده .
چون برای برنامه معنی نداره که بره توی پوشه های دیگه دنبال ریپورت و بانک و ... بگرده !!!!

ko-mohammad
شنبه 30 اردیبهشت 1391, 21:03 عصر
ببخشید میشه خلاصه اینو توضیح بدید به چه شکله ممنونم.
2 کار می تونی بکنی: 1-بعد از نصب شدن برنامت، اگه اولین بار برنامت اجرا شد، با کد های sql دوباره دیتابیس و جدول هاش رو بسازی (create table .....)
2- استفاده از نرم افزار های setup ساز مثل install shield که این کار رو براتون انجام می دن


اخه یکی از دوستام یه پروژه بهش انداخته بودن!! اینم داده بود به من که ببینم مسئلش چیه و درستش بکنم....
هر کاری کردم اتچ نشد..... در کمال تعجب وقتی اجراش کردم، دیدم کار میکنه و اصلا نیازی به اتچ هم نداشته!!!!!

تو سلوشن اکسپلورر بود فایل دیتابیس و تو پوشه ی فایل های پروژه و نه فایل های کامپایل نهایی......

داستان اون پروژه چیه اونوخت؟

تا اونجایی که من اطلاع دارم باید اتچ بشه، در مورد اون پروژه هم می تونم بگم که شاید خودش اتچ می کرد یا اینکه با access یا چیزی به جز SQL Server کار می کرد

senaps
شنبه 30 اردیبهشت 1391, 21:54 عصر
تا اونجایی که من اطلاع دارم باید اتچ بشه، در مورد اون پروژه هم می تونم بگم که شاید خودش اتچ می کرد یا اینکه با access یا چیزی به جز SQL Server کار می کرد

نه بابا سی کو ال هستش....
من فایل نصبش رو هم برای تست درست کردم و باز همونجوری کار میده...البته ... البته و البته.....موقع معرفی کردن دیتابیس، ادرسش رو باید به طور کامل توی کدها ذخیره کرده باشی!!!! یعنی تو سیستم هدف میخواد کجا بشینه فرق میکنه و اگر مثلا من تو درایو D درستش کرده باشم و ببرمش تو درایو E نصبش کنم، کار نمیده و مشکل برنامه که دوستم داده بود به من هم همین بود...یعنی هر بار نیاز بود که ادرسش رو درست کنی باز...

خوب، نمیشه ادرس رو یه جور روت داد؟! مثلا //database که اون// ها نشونه ی این باشن که همین پوشه ای که نرم افزار توش نصبه؟!

ko-mohammad
یک شنبه 31 اردیبهشت 1391, 00:08 صبح
نه بابا سی کو ال هستش....
من فایل نصبش رو هم برای تست درست کردم و باز همونجوری کار میده...البته ... البته و البته.....موقع معرفی کردن دیتابیس، ادرسش رو باید به طور کامل توی کدها ذخیره کرده باشی!!!! یعنی تو سیستم هدف میخواد کجا بشینه فرق میکنه و اگر مثلا من تو درایو D درستش کرده باشم و ببرمش تو درایو E نصبش کنم، کار نمیده و مشکل برنامه که دوستم داده بود به من هم همین بود...یعنی هر بار نیاز بود که ادرسش رو درست کنی باز...

خوب، نمیشه ادرس رو یه جور روت داد؟! مثلا //database که اون// ها نشونه ی این باشن که همین پوشه ای که نرم افزار توش نصبه؟!

البته من اینو یادم رفت بگم اگه از connection string زیر استفاده کنید دیگه نیازی به اتچ نیست ولی کارهایی مثل backup و restore .... رو نمی تونید انجام بدید:

SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=Q:\Project\So urce\project managment\bin\Debug\Data\OfficeProject.mdf;Integra ted Security=True;Connect Timeout=30;User Instance=True");


تو اون پروژه دوست شما هم احتمالا از این استفاده شده، اما برای این که آدرس دیتابیس با تغییر محل پروژه بهم نریزه از Application.StartupPath استفاده کنید.

SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename="+Application.StartupPath+@"\Data\OfficeProject.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

leila majdi
یک شنبه 31 اردیبهشت 1391, 00:11 صبح
salam
shoma bayad aval az tarighe data base
yek prozhe ijad konid,
va bad ba sakhtane instance az sql connection va sql command an ra ijad konid.\
akhar ham az tarighe connectionstring addresse morede nazar
ra vared mikonid.