ورود

View Full Version : سوال: کپی و فراخوانی و استفاده از بانک ایجاد شده در sql



seyed ehsan
پنج شنبه 08 مهر 1389, 00:30 صبح
دوستان گرامی سلام . 3 سوال در مورد استفاده از اس کیو ال سرور داشتم که بخاطر شلوغ نکردن تالار همه رو یکجا می پرسم لطفا راهنمایی بفرمایید .
من تونستم اولین بانک اطلاعاتی خودم رو در اس کیو ال سرور 2008 درست کنم . همه موارد هم درست هستند و کار می کنند البته ساده .
1- فایل اصلی این بانک رو که من روی سیستم خودم درست کردم رو از کجا می توانم بر دارم و کپی کنم ؟ آیا ای کیو ال مسیر مشخصی دارد و روش ویژه ای برای کپی کردن دیتابیس اصلی و انتقا اون به سیستم دیگه ای وجود دارد ؟

2- بعد از انجام کپی فایل اصلی و انتقال اون به سیستم مورد نظر بهترین و مناسب ترین نسخه اس کیو ال که صرفا حهت فراخوانی و استفاده از بانک از پیش طراحی شده است چیست ؟ ( نسخه ای که سبک بوده و فقط اصلاعات را ذخیره و استخراج کند در واقع سرور را روی سیستم بسازد )

3- چطر میتوانم این کار را انجاو دهم ؟ یعنی بانک خودم رو روی اس کسو ال مورد نظر لود کنم تا برنامه های جانبی که مثلا با وی بی دات نت نوشته شده اند از آن بانک استفاده نمایند . آیا برای ۀود شدن دیتا بیس دستور یا عمل ویژهای وجود دارد ؟


:: ببخشید که با نوشته های طولانی خسته تان میکنم ::

seyed ehsan
پنج شنبه 08 مهر 1389, 13:47 عصر
کسی راهنمایی نمیکنه؟

manij_mhm
پنج شنبه 08 مهر 1389, 14:52 عصر
سلام.
مسیر پیش فرض :

C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data
برای کپی کردن دیتابیس تون اول سرور رو stop کنید از برنامه نبندید، دیتابیس تون رو کپی و سپس start کنید.
در مورد سوال دومتون از نسخه express می تونید استفاده کنید.
برای اتصال به بانک از :

SqlConnection con = new SqlConnection( @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\d11.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
این کد به زبان c# هست، البته فکر نمی کنم در vb متن connectionstring تفاوتی داشته باشه.

موفق باشید.

seyed ehsan
جمعه 09 مهر 1389, 21:32 عصر
دوست گرامی ضمن تشکر از جواب خوب و کامل شما میشه یه کمی در مورد :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\d11.mdfکه در بالا درج کرده اید شرح بدهید . این آدرس ها چیه ؟ ثابت هستند ؟ از کجا اونها رو بدست بیاریم؟

seyed ehsan
جمعه 09 مهر 1389, 21:38 عصر
شما فرمودین اول سرور رو stop کنیم و بعد فایل رو داخل اون کپی کنیم . میشه بفرمایید چطور؟ منظور شما همون attach کردن هست ؟ آیا این کار را اگر 1 بار انجام دهیم برای همیشه خواهد بود یا اینکه هر بار در زمان راه اندازی مجدد سیستم باید این کلر را انجام داد

aghayex
جمعه 09 مهر 1389, 23:24 عصر
آقا سید اگه برنامه می نویسی و برنامت رو طوری می خوای جمع کنی که کاربر به راحتی بتونه از اون استفاده کنه و اصلا کارش به اس کیو ال و اتچ کردن نخوره باید از نسخه اکسپرس استفاده کنی .
البته برای استفاده از این نسخه چون مثل نسخه های دیگه ی اس کیو ال نیس که منیجیمنت داشته باشه و بری مسیر دیتابیس رو بهش بدی و اونو اتچ کنی باید کانکشن استرینگ رو تنظیم کنی


Data Source=.\\SQLEXPRESS;AttachDbFilename=" + AppDomain.CurrentDomain.BaseDirectory + "db\\Database1.mdf;Integrated Security=True

manij_mhm
شنبه 10 مهر 1389, 13:39 عصر
دوست گرامی ضمن تشکر از جواب خوب و کامل شما میشه یه کمی در مورد :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\d11.mdfکه در بالا درج کرده اید شرح بدهید . این آدرس ها چیه ؟ ثابت هستند ؟ از کجا اونها رو بدست بیاریم؟


چون از ورژن express sql می خواهید استفاده کنید data source رو برابرSQLEXPRESS/. قرار دادیم در واقع همون نام سرور است. d11.mdf نام بانک اطلاعاتی است. نام بانک خودتون رو جایگزین کنید. در برابر AttachDbFilename باید ادرس کامل بانک قرار داده شود. فایل بانک رو در پوشه bin پروژه کپی کنید، در این صورت datadirectory مسیر اون رو به مشخص می کند و نیازی به دادن مسیر فایل نیست. با این کار می تونید فایل رو روی سیستم های دیگه هم منتقل کنید.

manij_mhm
شنبه 10 مهر 1389, 13:47 عصر
شما فرمودین اول سرور رو stop کنیم و بعد فایل رو داخل اون کپی کنیم . میشه بفرمایید چطور؟ منظور شما همون attach کردن هست ؟ آیا این کار را اگر 1 بار انجام دهیم برای همیشه خواهد بود یا اینکه هر بار در زمان راه اندازی مجدد سیستم باید این کلر را انجام داد

دوست عزیز من این رو در جواب سوال اولتون گفتم:

فایل اصلی این بانک رو که من روی سیستم خودم درست کردم رو از کجا می توانم بر دارم و کپی کنم ؟ آیا ای کیو ال مسیر مشخصی دارد و روش ویژه ای برای کپی کردن دیتابیس اصلی و انتقا اون به سیستم دیگه ای وجود دارد ؟



اجازه اکسپرت دیتابیس تون و کپی کردن فایل برای انتقال به سیستم دیگری، از مسیر پیش فرض sql بدون stop کردن سرور رو ندارید. attach دیتابیس در واقع اضافه کردن بانک به سرور است. اما stop سرور به معنای توقف کامل سرور است.

ASP.NET2
یک شنبه 11 مهر 1389, 19:56 عصر
سلام .
حالا اگه از نسخه ی Express نخواییم استفاده کنیم چی؟
بهتر بگم برنامه نوشته شده با بانک Sqlserver 2008 ارتباط داده شده و Sp ها تعریف شدن و خیلی چیزای دیگه و در آخز ما می خواییم این برنامه رو که Debug شده ،بدیم دست مشتری که استفاده کنه. حالا برا اینکه مشتری با فقط یه فایل Setup درگیر باشه نه چیزای دیگه چکار باید کرد؟

aghayex
یک شنبه 11 مهر 1389, 22:10 عصر
دوست عزیز نسخه های دیگه ی اس کیو ال به غیر از اکسپرس برا ویرایش و ایجاد دیتابیس ها هستش ( البته کلی گویی کردم ) اما اکسپرس فقط مدریت می کنه . حالا اگه تو پروژه شما می خواید طور عمل کنید که کاربر هنگام نصب تو دردسر نیفته و نره سراغ اتچ کردن دستی دیتابیس باید از اکسپرس استفاده کنید .:لبخند:

seyed ehsan
پنج شنبه 22 مهر 1389, 04:18 صبح
من روی سیستم خودم اس کیو ال سرور 2008 R2 رو دارم آیا رشته کانکشن برای اون فرق میکنه ؟ کسی لینک دانلود اس کیو ال سروری رو که برنامه نویس ها در برنامه هاشون از اون استفاده می کنند دو داره منظورم همون چیزی هست که مثلا هلو استفاده میکنه البته نسخه جدیدش