PDA

View Full Version : مشکل کد back up زیر چیه



saeedhushmand
سه شنبه 08 آذر 1390, 12:31 عصر
وقتی می خوام اجراش کنم برنامم می بنده


private void toolStripMenuItem26_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup";
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = "C:\\";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection();
sqlConnection.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\laberator.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
sqlConnection.Open();
System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand();
sqlCommand.Connection = sqlConnection;
sqlCommand.CommandText = "BACKUP DATABASE laberator TO DISK = '@Destination'";
sqlCommand.Parameters.Add("@Destination", SqlDbType.VarChar);
sqlCommand.Parameters["@Destination"].Value = saveFileDialog.FileName;
sqlCommand.ExecuteNonQuery();
MessageBox.Show("پشتیبان گیری از بانک اطلاعاتی با موفقیت انجام گردید.","Backup");
sqlConnection.Close();
}
}

mehdi.mousavi
سه شنبه 08 آذر 1390, 13:04 عصر
سلام.
یعنی چی برنامه ام رو می بنده؟ خوب، برنامه رو در Debugger اجرا کنید، پیام خطایی که میگیرید اینجا بذارید تا بگم دلیلش چیه...
بعنوان اولین چیزی که به ذهنم میرسه، مطمئن بشید که Account ای که SQL Server تحت اون داره اجرا میشه حتما دسترسی
Write به شاخه ای که توسط برنامه تعیین میکنید رو داشته باشه. در غیر اینصورت، برنامه Exception میخوره و طبیعتا اجرای اون نیز
متوقف خواهد شد.

موفق باشید.

abdullah20
سه شنبه 08 آذر 1390, 17:12 عصر
string strBack = "Backupname.bak";
SqlCommand scom = new SqlCommand("BACKUP DATABASE [" + dbname + "] TO DISK ='" + textAddress.text + "\\" + strBack + "'", sc);
sc.Open();
scom.ExecuteNonQuery();
sc.Close();