PDA

View Full Version : نحوه atach كردن ديتابيس



mehdi4467
چهارشنبه 14 مهر 1389, 17:08 عصر
سلام
من در C# مي خواهم در يك برنامه ديتا بيس sql آن را atach كنم ولي چون تا الان با sql كار نكردم اين كار رو بلد نيستم. اين موضوع را در انجمن sql مطرح كردم ولي جوابي نگرفتم. در صورت امكان راهنمايي كنيد.

AmirAmiri
چهارشنبه 14 مهر 1389, 17:24 عصر
دوست عزیز لطفا اول جستجو کنید و بعد تاپیک بزنید این سوال بارها و بارها توی انجمن مطرح شده و پاسخ داده شده.
این پاسخ مستقیمه شما (http://barnamenevis.org/forum/showpost.php?p=894254&postcount=5)

اینم نتیجه جستجو در انجمن (http://barnamenevis.org/forum/search.php?searchid=2991405)

موفق و پیروز باشید.

mehdi4467
چهارشنبه 14 مهر 1389, 17:46 عصر
سلام
نمي دونم اين تاپيكي كه گفتيد جواب من بود يا نه. من يك برنامه از همين سايت دانلود كردم. يك برنامه است و دو فايل مجزاي mdf و ldf . در تاپيك بالا گفته شده بايد كد نوشت ولي من فكر نمي كنم براي اتچ كردن كدي نياز باشه نوشته بشه چون قاعدتا هر كدي نياز بوده برنامه نويس نوشته و من فقط بايد ديتا بيس رو اتچ كنم.
يكي از دوستان نوشته بود:


در object Explorer روی گزینه Databases راست کلیک کنید و گزینه Attach را کلیک کنید و ...

ولي من پنجره Object Explorer رو پيدا نكردم.

با تشكر

AmirAmiri
چهارشنبه 14 مهر 1389, 18:04 عصر
سلام
نمي دونم اين تاپيكي كه گفتيد جواب من بود يا نه. من يك برنامه از همين سايت دانلود كردم. يك برنامه است و دو فايل مجزاي mdf و ldf . در تاپيك بالا گفته شده بايد كد نوشت ولي من فكر نمي كنم براي اتچ كردن كدي نياز باشه نوشته بشه چون قاعدتا هر كدي نياز بوده برنامه نويس نوشته و من فقط بايد ديتا بيس رو اتچ كنم.
يكي از دوستان نوشته بود:

ولي من پنجره Object Explorer رو پيدا نكردم.

با تشكر

آها مشکله شما Attach کردن توی SQL هست. من فکر کردم میخواید از توی برنامه Attach کنید.
خب این سوال مربوط میشد به بخش SQL Server اما در کل باید SQL رو اجرا کنید و به دیتابیس Connect بشید. بعد سمت چپ یک پنجره هست به نامه Object Explorer اگه نبود از منوی View میتونید اون رو انتخاب کنید تا بیاد یا اینکه کلید F8 رو بزنید. توی اون پنجره باید روی قسمت Databases راست کلیک کنید و دومین گزینه یعنی Attach رو بزنید بعد توی پنجره ای که باز میشه کلید ADD رو بزنید ، فایل دیتابیس رو انتخاب کنید و در نهایت کلید OK رو بزنید.
خیلی سادست.
موفق و پیروز باشید.

mehdi4467
جمعه 16 مهر 1389, 13:24 عصر
ممنون ولي من يكيم گيج شدم. من در داخل دايركتوري sql اين گزينه ها رو دارم. عكس را نگاه كنيد:
كدومشون رو اجرا كنم؟ فكر مي كنم يه مشكلي باشه.

reza_program
جمعه 16 مهر 1389, 17:42 عصر
شما میخوای چکار کنی؟

میخوای با کد به دیتابیس وصل شی؟
میخوای با خود sql management به دیتابیس وصل شی؟

اصلا میخوای با دیتابیس چکار کنی؟

mehdi4467
شنبه 17 مهر 1389, 17:56 عصر
شما میخوای چکار کنی؟

میخوای با کد به دیتابیس وصل شی؟
میخوای با خود sql management به دیتابیس وصل شی؟

اصلا میخوای با دیتابیس چکار کنی؟

میخوام با خود sql management به دیتابیس وصل شم

reza_program
شنبه 17 مهر 1389, 19:07 عصر
این عکس ها رو نگاه کن
اگه بازم سوالی داشتی بگو

http://www.4shared.com/file/FUAu4Ppz/AttachDB.html

عکسهای اول در مورد Attach کردن دیتابیس ه

mehdi4467
شنبه 17 مهر 1389, 19:19 عصر
ممنون
در واقع ظاهرا من نرم افزار Microsoft SQL Server Management stdio رو ندارم. مگر با نصب کامل visual stdio این نرم افزار هم نصب نمیشه؟ لطفا به عکس پیوست در پست شماره 5 نگاه کنید من پس از نصب visual stdio این فولدر ها را دارم.

reza_program
شنبه 17 مهر 1389, 20:45 عصر
همراه با دات نت SQL Express نصب میشه
نه Management
شما میتونید نسخه Developer رو نصب کنید
و از محیط مدیریت اس کیو ال استفاده کنید

slashslash2009
شنبه 17 مهر 1389, 20:55 عصر
در محیط C#‎ مینونی از server explorer استفاده کنی منوی view رو باز کن میبینیش گزینه اولیه ومینوتید فایل دیتا بیستونو مدیریت کنید .راست کلیک روی data connection وبعد add connection

donya_donya
یک شنبه 18 مهر 1389, 00:53 صبح
نقل قول: attachکردن دیتابیس در conectionstring
سلام
فکر کنم اگه از چنین کانکشنی استفاده کنید جواب بده:
"uid=sa;pwd=;Initial Catalog=database name"+"Data Source=(local);Connect Timeout=30"

و برای attach کردن دیتابیس :
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=(local);Initial Catalog=master;Integrated Security=True";
con.Open();

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

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


;(" شد Attach دیتابیس با موفقیت") MssageBox.Show
{

catch (Exception x)
{
if(x.Message.IndexOf("already exists")>=0)

;(" دیتابیس موجود است").MssageBox.Show
else
MessageBox.Show(x.Message);
}
}
فرض میکنیم که اسم دیتابیسمون saynadb هستش.فایلهای مربوط به دیتابیستون رو در فولدری به اسم data قرار بدید و سپس این فولدر رو در جایی که exe برنامتون هستش قرار بدید.
file:///F:/noktehaye%20c%23/safahateeeeeeeeeeeeeeee%20veb%20amozeshiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiii/سوال%20attachکردن%20دیتابیس%20در% 20conectionstring%20-%20جامعه%20برنامه%20نویس_files/user_offline.gif file:///F:/noktehaye%20c%23/safahateeeeeeeeeeeeeeee%20veb%20amozeshiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiii/سوال%20attachکردن%20دیتابیس%20در% 20conectionstring%20-%20جامعه%20برنامه%20نویس_files/report.gif (http://barnamenevis.org/forum/report.php?p=806078)

aghayex
یک شنبه 18 مهر 1389, 06:18 صبح
دوست عزیز شما دو حث رو با هم قاطی کردید :
1- اگه می خوای از دیتابیس استفاده کنی همون اکپرس اس کیو ال برات کافیهدر نشخه اکسپرس شما نیاز نداری دیتابیس رو اتچ کنی هر موقع با کانکشن به دیتابیس وصل شدی خودش اتوماتیک اتچ می شه و هر موقع برنامتو بستی دی اتچ می شه . همون اس کیو ال vs ارتو راه می ندازه
2 - در نسخه های دیگه ی اس کیو ال چون Management داره در محیطش راست کلیک می کنی و دیتابیستو اتچ می کنی و این اتچ تا زمانی که نیای و راست کلیک نکنی رو دیتابیست و اونو دی اتچ نکردی ادامه داره