PDA

View Full Version : ذخیره نشدن فایل بک آپ



kiani2012
یک شنبه 03 فروردین 1393, 10:42 صبح
سلام
کد بک آپ من نمیدونم چرا جواب نمیده
هیچ اروری نمیده ولی وقتی مسیر رو از طریق پنجره تعیین میکنم هیچ فایلی رو توی پوشه مورد نظر ذخیره نمیکنه
لطفا کمک کنید
مشکلش چیه؟

اینم کدش :



SaveFileDialog sfd = new SaveFileDialog();
// sfd.FileName = DateTime.Now.ToString("ddMMyyy_HHmmss");
sfd.Filter = "Backup File(*.Bak)|*.Bak";
if (sfd.ShowDialog() == DialogResult.OK)
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\GDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "use master;BACKUP DATABASE [" + Application.StartupPath + @"\GDatabase.mdf] TO DISK='" + sfd.FileNames + "'";
cmd.Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\GDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");


cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();

kiani2012
چهارشنبه 06 فروردین 1393, 06:16 صبح
با کمک یکی از پست های این سایت درست شد اینم کدش:
private void backupbtn_Click_1(object sender, EventArgs e) {
#region Select Name
string strFileName = string.Empty;
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "BackupFile";
saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files (*.*) |*.*";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;
saveFileDialog1.Title = "Backup SQL File";


if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = saveFileDialog1.FileName;
Backup(strFileName);
}
#endregion
}

private void Backup(string strFileName) {
#region Store File Bak


SqlCommand oCommand = null;
SqlConnection oConnection = cnd.getcn();
try
{
string Command = @"backup database [" + Application.StartupPath + "\\GDatabase.mdf] to disk ='" + strFileName + "' with init,stats=10";
this.Cursor = Cursors.WaitCursor;
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(Command, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show("تهیه نسخه پشتیبان انجام شد .");
}
catch (Exception ex)
{
MessageBox.Show("Error :" + ex.Message);
}
finally
{
oConnection.Close();
oCommand.Parameters.Clear();
oCommand.Dispose();
}
#endregion
}

private void restorebtn_Click_1(object sender, EventArgs e) {
#region Select File Bak
string strFileName = string.Empty;


openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files (*.*) |*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.Title = "Restore SQL File";


if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
strFileName = openFileDialog1.FileName;
Restore(strFileName);
}
#endregion
}


private void Restore(string strFileName) {
#region Restore File Bak


SqlCommand oCommand = null;
SqlConnection oConnection = cnd.getcn();


try
{
string Command = "ALTER DATABASE [" + Application.StartupPath + "\\GDatabase.mdf] SET SINGLE_USER with ROLLBACK IMMEDIATE use master RESTORE DATABASE [" + Application.StartupPath + "\\GDatabase.mdf] FROM DISK='" + strFileName + "'";


this.Cursor = Cursors.WaitCursor;


if (oConnection.State != ConnectionState.Open)
oConnection.Open();


oCommand = new SqlCommand(Command, oConnection);
oCommand.ExecuteNonQuery();


this.Cursor = Cursors.Default;
MessageBox.Show("بازیابی انجام شد .");
}
catch (Exception ex)
{
MessageBox.Show("Error :" + ex.Message);
}
finally
{
oConnection.Close();
oCommand.Parameters.Clear();
oCommand.Dispose();
}
#endregion
}