PDA

View Full Version : attach، detach، back up و restore از طریق کدنویسی



mengineer
دوشنبه 24 شهریور 1393, 10:18 صبح
سلام
از دوستان کسی اطلاعی داره که چطور میشه 4 عمل attach، detach و back up، restore را از طریق کدنویسی انجام داد؟
البته من کد زیر رو برای attach پیدا کردم ولی وقتی در رویداد form_load می نویسم برنامه خطا میده

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();
MessageBox.Show(" شد Attach دیتابیس با موفقیت");

}
catch (Exception x)
{
if (x.Message.IndexOf("already exists") >= 0)
MessageBox.Show("دیتابیس موجود است");
else
MessageBox.Show(x.Message);
}

خطای این کد هم اینه :


A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)


اگر کسی کدی برای این 4 عمل داره ممنون میشم در اختیار من هم قرار بده.

Mahmoud.Afrad
پنج شنبه 27 شهریور 1393, 16:06 عصر
منظور از پارامترها اینه که به جای مثلا @dbname نامی که میخوای با این نام اتچ بشه رو ذکر کنی و نباید دیگه @dbname رو ذکر کنی.

string str = "use master; EXECUTE sp_attach_db N'SaynaDB' , N'" + Application.StartupPath + "\\Data\\SaynaDB.mdf', N'" + Application.StartupPath + "\\Data\\SaynaDB_log.ldf'";