如何在 3 层项目中创建备份时获取 .bak 扩展名

Posted

技术标签:

【中文标题】如何在 3 层项目中创建备份时获取 .bak 扩展名【英文标题】:how to get .bak extension while creating backup in 3 tier project 【发布时间】:2014-11-23 15:59:49 【问题描述】:

单击备份 btn 时,它打开了一个保存文件对话框,但我在另存为类型时找不到 .bak 扩展名 代码: private void backupdb_Load(object sender, EventArgs e) label4.Visible = false;

        DataSet ds = SqlGetData.GetData1("select srvname  from sysservers  where srvproduct='SQL Server'");

        for (int m = 0; m < ds.Tables[0].Rows.Count; m++)
        
            cbserver.Items.Add(ds.Tables[0].Rows[0][m].ToString());
        
     

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) cbdb.Items.Clear(); DataSet ds = SqlGetData.GetData1("从系统数据库中选择名称"); for (int m = 0; m

    private void button1_Click(object sender, EventArgs e)
    

        blank("backup");


    

    public void blank(string str)
    
        if (string.IsNullOrEmpty(cbserver.Text) | string.IsNullOrEmpty(cbdb.Text))
        

            label4.Visible = true;
            MessageBox.Show("Server Name & Database can not be Blank");
            return;

        
        else
        
            if (str == "backup")
            
                saveFileDialog1.FileName = cbdb.Text;
                saveFileDialog1.ShowDialog();
                string s = null;
                s = saveFileDialog1.FileName;
                saveFileDialog1.Filter = "All Files|*.bak";
                query("Backup database " + cbdb.Text + " to disk='" + s + "'");

                label4.Visible = true;
                label4.Text = "Database BackUp has been created successful";



            
        

【问题讨论】:

【参考方案1】:

移动该行将过滤器设置为显示对话框之前

saveFileDialog1.Filter = "All Files|*.bak"
saveFileDialog1.ShowDialog();

【讨论】:

我已经按照你说的做了。该文件也保存在特定部分,但我没有在保存位置获得任何 .bak 文件。这可能是什么解决方案?请帮我解决这个问题? 抱歉,我认为您的问题是为什么对话框中没有为 .bak 列出“另存为”类型。你能澄清这个问题吗?您似乎没有任何用于实际保存/创建文件的代码.. 我想将sql db备份文件保存在本地驱动器中。我也收到消息说“数据库已成功保存”。但我仍然没有在我的本地驱动器中获得文件。 我认为备份数据库查询执行没有错误?此外,如果数据库位于不同的服务器上,则路径必须在该服务器上可用。例如,如果您指定 c:\backups 作为路径,它将保存到服务器上的该路径,而不是您的应用运行的位置。

以上是关于如何在 3 层项目中创建备份时获取 .bak 扩展名的主要内容,如果未能解决你的问题,请参考以下文章

我们如何使用 EF 在 ASP.Net MVC 应用程序中创建 3 层架构?

RMAN - 在备份中创建的额外项目

如何在 Drupal 中创建具有三个细节层的时间线?

我怎样才能找到临时文件?

如何在 Spring Junit 中创建会话

有没有办法将现有mssql备份文件bak格式,导入到mysql数据库中