【问题标题】:Error while trying to get backup c# localdb尝试获取备份c#localdb时出错
【发布时间】:2017-02-19 15:08:17
【问题描述】:

我试图备份数据库,但出现错误 数据库不存在我不知道是什么问题我尝试了一整天但我找不到任何有用的代码我尝试了很多代码都给出了相同的错误请帮助我

tring master_ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;Database=Master;Integrated Security=True;Connect Timeout=30;";
        string database = GetDataDirectory();
        MessageBox.Show(database);
        using (SqlConnection masterdbConn = new SqlConnection())
        {
            masterdbConn.ConnectionString = master_ConnectionString;
            masterdbConn.Open();

            using (SqlCommand multiuser_rollback_dbcomm = new SqlCommand())
            {
                multiuser_rollback_dbcomm.Connection = masterdbConn;
                multiuser_rollback_dbcomm.CommandText = @"ALTER DATABASE @DBNAME SET MULTI_USER WITH ROLLBACK IMMEDIATE";
                multiuser_rollback_dbcomm.Parameters.AddWithValue("@DBNAME",database);
                multiuser_rollback_dbcomm.ExecuteNonQuery();
            }
            masterdbConn.Close();
        }

        //SqlConnection.ClearAllPools();

        //using (SqlConnection backupConn = new SqlConnection())
        //{
        //    backupConn.ConnectionString = "Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\BbCon.mdf;Integrated Security=True;Connect Timeout=30;";
        //    backupConn.Open();

        //    using (SqlCommand backupcomm = new SqlCommand())
        //    {
        //        backupcomm.Connection = backupConn;
        //        backupcomm.CommandText = @"BACKUP DATABASE BbCon TO DISK='c:\yourdbname.bak'";
        //        backupcomm.Parameters.AddWithValue("@DBNAME", database);
        //        backupcomm.ExecuteNonQuery();
        //    }
        //    backupConn.Close();
        //}

数据库名称是 BbCon.mdf 它位于 C:\Users\asus\Desktop\New Folder (3)\bbcon_accout_software\bbcon_accout_software\bin\x86\Debug

【问题讨论】:

  • 你能不能试着把大小写改成(localdb)\MSSQLLocalDB...随便看看
  • 我试过但没有改变同样的错误
  • 正如我所说, (localdb)\MSSQLLocalDB 用于 SQL localDB 2014 。使用你之前的 2012 年。

标签: c# localdb


【解决方案1】:

请尝试以下代码

public string constring = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MyDataBase.mdf;Integrated Security=True";

try
{ 
 SaveFileDialog sd = new SaveFileDialog();
 sd.Filter = "SQL Server database backup files|*.bak";
 sd.Title = "Create Database Backup";
 sd.FileName = "MyDataBase-" + string.Format("{0:dd-MM-yyyy_hh-mm-ss-tt}", DateTime.Now);

 if (sd.ShowDialog() == DialogResult.OK)
 {
  using (bcon = new SqlConnection(constring))
  {
   string sqlStmt = string.Format("backup database [" + System.Windows.Forms.Application.StartupPath + "\\MyDataBase.mdf] to disk='{0}'", sd.FileName);
   using (SqlCommand bu2 = new SqlCommand(sqlStmt, bcon))
   {
    bcon.Open();
    bu2.ExecuteNonQuery();
    bcon.Close();
    MessageBox.Show("Backup Created Sucessfully");
   }
  }
 }
}
catch (Exception){MessageBox.Show("Backup Not Created");}

尝试按照我的建议更改您的连接字符串,但仍然无法正常工作,然后您可以使用上面的代码。这对我来说就像魅力一样工作。

【讨论】:

  • 感谢您的代码,当我尝试上述代码时,我遇到了同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2014-03-10
  • 2020-11-01
  • 2021-04-22
  • 2016-09-15
相关资源
最近更新 更多