PDA

View Full Version : سوال: اشکال کد attach اتوماتیک چیه؟



salehvasaleh
یک شنبه 15 مرداد 1391, 17:31 عصر
دوستان کد زیر رو از طریق سرچ پستهای سایت بدست آوردم و هدفم اینه که بتونم فایل بانک رو از طریق این کد اتچ کنم اما خطایی رو میده که در عکس مشاهده می کنید:
http://rbs.host22.com/pic/dbd31f2027f2.jpg
اگه میشه لطف کنید بگید با توجه به کدها و عکس اشکال کار کجاست؟ممنون


string str;
str = "Data Source=SABZIANP-509BB1\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand comm = new SqlCommand("EXECUTE sp_attach_db @dbname,@filename1,@filename2)", con);
comm.Parameters.Add("@dbname", SqlDbType.VarChar, 260).Value = "d";
comm.Parameters.Add("@filename1", SqlDbType.VarChar, 260).Value = "E:\\bank\\d_data.mdf";
comm.Parameters.Add("@filename2", SqlDbType.VarChar, 260).Value = "E:\\bank\\d_log.ldf";
comm.ExecuteNonQuery();
MessageBox.Show("وصل شد");

nilmil_nil
یک شنبه 15 مرداد 1391, 17:35 عصر
سلام
دوست عزیز
واضحه که
یه پرانتز اضافه گذاشتی

SqlCommand comm = new SqlCommand("EXECUTE sp_attach_db @dbname,@filename1,@filename2)", con);

با رنگ قرمز مشخص کردم برات

salehvasaleh
یک شنبه 15 مرداد 1391, 17:38 عصر
سلام
دوست عزیز
واضحه که
یه پرانتط اضاف گذاشتی

SqlCommand comm = new SqlCommand("EXECUTE sp_attach_db @dbname,@filename1,@filename2)", con);

سلام ممنون در همون فاصله ارسال متوجه شدم خیلی ممنون حق با شماست. حالا یک سوال دیگه:
شما احیانا کد دیتچ رو نمی دونید؟ممنون

nilmil_nil
یک شنبه 15 مرداد 1391, 17:45 عصر
EXEC sp_detach_db 'DBNAME', 'true';

nilmil_nil
یک شنبه 15 مرداد 1391, 17:47 عصر
احتمال داره با دستوری که گفتم نشه
ابتدا باید


USE master; ALTER DATABASE DBname SET SINGLE_USER;

اجرا کنید بعد دستور بالا

salehvasaleh
یک شنبه 15 مرداد 1391, 17:53 عصر
[QUOTE=nilmil_nil;1564765]EXEC sp_detach_db 'DBNAME', 'true';[/QUOTE
یعنی فقط هیمن یک قسمتش تغییر می کنه و به این فرم در می آد:؟؟



string str;
str = "Data Source=SABZIANP-509BB1\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand comm = new SqlCommand("sp_detach sp_attach_db @dbname,@filename1,@filename2", con);
comm.Parameters.Add("@dbname", SqlDbType.VarChar, 260).Value = "d";
comm.Parameters.Add("@filename1", SqlDbType.VarChar, 260).Value = "E:\\bank\\d.mdf";
comm.Parameters.Add("@filename2", SqlDbType.VarChar, 260).Value = "E:\\bank\\d_log.ldf";
comm.ExecuteNonQuery();
MessageBox.Show("دیتچ شد");

salehvasaleh
یک شنبه 15 مرداد 1391, 17:55 عصر
EXEC sp_detach_db 'DBNAME', 'true';
ضمن تشکر یعنی باید این طوری بشه؟ یا تغییرات دیگه ای هم لازمه؟ممنون



string str;
str = "Data Source=SABZIANP-509BB1\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
SqlConnection con = new SqlConnection(str);
con.Open();
SqlCommand comm = new SqlCommand("sp_detach sp_attach_db @dbname,@filename1,@filename2", con);
comm.Parameters.Add("@dbname", SqlDbType.VarChar, 260).Value = "d";
comm.Parameters.Add("@filename1", SqlDbType.VarChar, 260).Value = "E:\\bank\\d.mdf";
comm.Parameters.Add("@filename2", SqlDbType.VarChar, 260).Value = "E:\\bank\\d_log.ldf";
comm.ExecuteNonQuery();
MessageBox.Show("دیتچ شد");