PDA

View Full Version : سوال: پشتیبان گیری (از صد راه رفتم ولی جواب نداده)



mnasrin
سه شنبه 29 دی 1388, 20:02 عصر
دوستان الان چند وقته که از هر راهی می روم پشتیبان گیری و بازیابی اطلاعات از بانک در برنامه ام جواب نمیده. به نظرم یک فنی داره که من نمیدونم. آخرین کدی که استفاده کردم و جواب نداد این بود. دوستان لطفا راهنماییم کنند.


private void button3_Click(object sender, EventArgs e)
{
string strFileName=string.Empty;
saveFileDialog1.DefaultExt = "BAK";
saveFileDialog1.FileName = "BackupFile" + DateTime.Now.ToShortDateString();
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);
}
}
private void Backup(string strFileName)
{
try
{
string command = @"BACKUP DATABASE anjoman TO DISK='"+ strFileName+"'";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;
oConnection = new SqlConnection("Data Source=.;InitialCatalog=anjoman;Integrated Security=True");
if (oConnection.State != ConnectionState.Open)
oConnection.Open();

oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد ");
}
catch (Exception ex)
{
MessageBox.Show("Error Occurd :" + ex.Message);
}
}

SMRAH1
سه شنبه 29 دی 1388, 20:15 عصر
سلام
معمولا مشکل توی BackUp نیست مشکل توی Restore است.
من قبلا از این کد استفاده کردم و مشکلی نداشتم (به نوع کد Restore توجه کن):

try
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlConnection conn = new SqlConnection(global::DrugStore.Properties.Setting s.Default.DrugStoreConnectionString);
SqlCommand cmd = new SqlCommand("BACKUP DATABASE [YourDB] TO DISK='" + saveFileDialog1.FileName + "'", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("تهیه نسخه پشتیبان با موفقیت انجام شد");
}
}
catch(Exception exc)
{
MessageBox.Show(exc.Message,"خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

و


try
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
SqlConnection conn = new SqlConnection(global::DrugStore.Properties.Setting s.Default.DrugStoreConnectionString);
SqlCommand cmd = new SqlCommand("USE Master RESTORE DATABASE [YourDB] FROM DISK='" + openFileDialog1.FileName + "'", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("باز گردانی نسخه پشتیبان با موفقیت انجام شد");
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message,"خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

موفق باشی

mir555
سه شنبه 29 دی 1388, 21:32 عصر
برای ریستور کردن Connection String به master وصل کن
oConnection = newSqlConnection("Data Source=.;InitialCatalog=master;Integrated Security=True");

ahrimaneahurai
سه شنبه 29 دی 1388, 22:31 عصر
سلام
از این استفاده کن
http://www.4shared.com/file/201521011/a0c92743/SqlBackUpHamidpart1.html

http://www.4shared.com/file/201523451/69a58210/SqlBackUpHamidpart2.html

ahrimaneahurai
سه شنبه 29 دی 1388, 22:33 عصر
شرمنده که یه جا دیگه آپلود کردم
چند روزه نمیتونم تو سایت چیزی بذارم
خودم از این کد دارم استفاده میکنم مشکلی نداره

mehdi_link
چهارشنبه 30 دی 1388, 16:12 عصر
سلام من یه مقاله دارم