سلام
من داخلSQL یه SP ساختم به نام pDBBackup
کد HTML:
ALTER procedure [dbo].[pDBBackup]
@BackupName varchar(50)
As
BACKUP DATABASE [anbardari] TO DISK = @BackupName
WITH
compression,
NOFORMAT,
NOINIT,
NAME = N'Full Database Backup',
SKIP,
NOREWIND,
NOUNLOAD,
STATS =10
RETURN
این SP از داخل SQL کار میکنه و فایل بکاپ ساخته میشه .
حالا میخوام از داخل کدها path + filename.bak رو به @BackupName بفرستم و sp اجرا بشه . همه چیز درست کار میکنه . حتی BackupName@ درست ساخته میشه اما توی خط آخرم وقتی که روی باتن کلیک میکنم برنامه به catch میپره .
کد باتنم به صورت زیر هست:
کد HTML:
private void btn_getbackup_click(object sender, RoutedEventArgs e)
{
try
{
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.Filter = @"SQL Backup files (*.bak) |*.bak|All files (*.*) |*.*";
dlg.DefaultExt = "bak";
dlg.InitialDirectory = "D:";
dlg.FileName = publicvariable.guserid + "_" + String.Format("{0:yyyyMMdd}", Convert.ToDateTime(calender_set.Text)) + "_" + String.Format("{0:00}", DateTime.Now.Hour) + "" + String.Format("{0:00}", DateTime.Now.Minute) + "" + String.Format("{0:00}", DateTime.Now.Second);
string filename = "";
string path = "";
if (dlg.ShowDialog() == true)
{
filename = System.IO.Path.GetFileName(dlg.FileName);
path = System.IO.Path.GetDirectoryName(dlg.FileName);
payegah.pDBBackup("'"+dlg.FileName+"'");
}
else
{
System.Windows.MessageBox.Show("نام فایل غیر معتبر می باشد");
return;
}
System.Windows.MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
}
catch(Exception ex)
{
System.Windows.MessageBox.Show("خطایی در پشتیبان گیری به وجود آمده " + ex.ToString());
}
}
click.jpgError.jpg
ممنون میشم راهنمایی کنید .