我创建了一个从SQL Server 2014备份整个数据库的程序,我在另一台笔记本电脑(was working on it coding with c#)
上使用之前使用了代码。
现在我试图备份不工作这是代码:
1 / - SqlConnection:
SqlConnection con = new SqlConnection(WindowsFormsApplication11.Properties.Settings.Default.database1ConnectionString);
2 / - textbtn1
private void browseButton_Click(object sender, EventArgs e)
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() == DialogResult.OK)
{
textBox1.Text = dlg.SelectedPath;
BackupButton.Enabled = true;
}
}
3 / - textbtn2代码:
private void BackupButton_Click(object sender, EventArgs e)
{
string database = con.Database.ToString();
try
{
if(textBox1.Text==string.Empty)
{
MessageBox.Show("please enter backup file location");
}
else
{
string cmd = "BACKUP DATABASE [" + database + "] TO DISK='" + textBox1.Text + "\\" + "database" + "-" + DateTime.Now.ToString("yyyy-MM-dd--HH-mm-ss") + ".bak'";
using(SqlCommand command = new SqlCommand(cmd,con))
{
if(con.State!=ConnectionState.Open)
{
con.Open();
}
command.ExecuteNonQuery();
con.Close();
MessageBox.Show("database backup done successefully");
BackupButton.Enabled = false;
}
}
}
catch
{
}
}
**即使这段代码不起作用也没有消息显示:p,不知道为什么?
我改变了所有的东西,我创建了一个名为DBconnect的新类:
class DBconnect
{
public SqlConnection myConn = new SqlConnection(@"Data Source=MYSERVERNAME;Initial Catalog=MYDBNAME;User ID=sa;Password=12345");
public void backup(string name_path)
{
try
{
string query = "Backup Database MYDBNAMEto Disk ='" + name_path + ".bak'";
SqlCommand myCommand = new SqlCommand();
myCommand.CommandText = query;
myCommand.Connection = myConn;
myCommand.ExecuteNonQuery();
MessageBox.Show("sauvegarde succès", "sauvegarde", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
}
}
以我的形式我这样做了:
DBconnect conn = new DBconnect();
在备份textbtn2中我这样做了:
string Namefile = textboxBATH.Text + "\\MYDBNAME" + " " + DateTime.Now.ToShortDateString().Replace('/', '-') + "-" + DateTime.Now.ToLongTimeString().Replace(':', '-');
Conn.backup(Namefile);
在这种情况下,我面对这个错误信息:
无法打开备份设备。操作系统错误5(访问被拒绝。)BACKUP DATABASE异常终止。
我认为SQL服务可能没有对应该创建备份浴的路径的权限。我在我的桌面上创建了新的文件夹并给了它读取和写入的权限..这也不起作用..:p
谢谢大家。