PDA

View Full Version : مشکل در بک آپ گیری با linq



Sir-Programmer
جمعه 09 خرداد 1393, 20:32 عصر
با سلام
خیلی دنبال جوابم گشتم پیدا نکردم متاسفانه ! من با استفاده از کد زیر میخوام از بانک بک آپ بگیرم ولی ارور میده خواهشاً کمک کنید ممنون
LINQDataContext db = new LINQDataContext();
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
string str_filename = string.Empty;
sfd.FileName = "backup_database_" + DateTime.Now.ToShortDateString().Replace("/", "_");
sfd.Filter = @"backup files(*.bak)|*.bak|all files(*.*)|*.*";
sfd.FilterIndex = 1;
sfd.OverwritePrompt = true;
sfd.Title = "***save backup files***";
if (sfd.ShowDialog() == DialogResult.OK)
{
str_filename = sfd.FileName;
backup(str_filename);


}
}

private void backup(string str_filename)
{
try
{
db.ExecuteCommand(@"BACKUP DATABASE " + db.Mapping.DatabaseName + " to DISK='" + str_filename + "'");

this.Cursor = Cursors.Default;
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز بود");
}
catch (Exception ex)
{
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز نبود |" + ex.Message);
}
}
}
اینم از کانکشن استرینگ از localDB استفاده کردم چون اسکیو ال اکس پرس مشکل داشت !
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\Db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"


اینم ارور :
Database DB.mdf does not exist make sure the name is entered correctly. BACKUP DATABASE is terminating abnormally.

Mansoor92
جمعه 09 خرداد 1393, 21:41 عصر
سلام
به نظرم از روش SMO استفاده کنید

موفق باشید.

Sir-Programmer
جمعه 09 خرداد 1393, 22:30 عصر
ممنون میشه نمونه ای بزاری ؟

Mahmoud.Afrad
شنبه 10 خرداد 1393, 02:21 صبح
چون از AttachDbFilename استفاده کردی باید مسیر کامل دیتابیس رو بدی.

try
{
string dbPath = System.IO.Path.Combine(Application.StartupPath, db.Mapping.DatabaseName + ".mdf");
db.ExecuteCommand(@"BACKUP DATABASE [" + dbPath + "] to DISK=N'" + str_filename + "'");

this.Cursor = Cursors.Default;
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز بود");
}
catch (Exception ex)
{
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز نبود \n" + ex.Message);
}