首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小弟我写的数据备份,为啥说小弟我没权限,求解释

2012-08-03 
我写的数据备份,为啥说我没权限,求解释try{string recharge System.Configuration.ConfigurationManager

我写的数据备份,为啥说我没权限,求解释
try
  {
  string recharge = System.Configuration.ConfigurationManager.AppSettings["recharge"];
  string strg = Application.StartupPath.ToString();//应用程序路径(dll文件路径)
  strg = strg.Substring(0, strg.LastIndexOf("\\"));//上一级
  strg = strg.Substring(0, strg.LastIndexOf("\\"));//上一级
  strg += recharge;//DataBF文件夹
  string sqltxt = @"BACKUP DATABASE master TO Disk='" + strg + "\\" + ".dat" + "'";//备份数据库的sql语句
  SqlConnection conn = db.getConnection();//创建数据库连接
  // conn.Open();//打开数据库连接
  SqlCommand cmd = new SqlCommand(sqltxt, conn);//创建SqlCommand 对象用于执行sql语句
  cmd.ExecuteNonQuery();//执行sql语句
  conn.Close();//sql语句执行完毕,关闭数据库连接
  }
  catch (Exception ex)
  {
  MessageBox.Show("cuowu "+ex.Message);
  db.closeConnection();
  }
我报的错误时cuowu 在数据库‘master’中拒绝了BACKUP DATABASE 权限

[解决办法]
看看连接字符串中的用户是否有BACKUP DATABASE 权限,
用sa用户看看是否报错
[解决办法]
我也碰到过这种情况,解决方法如下(主要是加上use master):
 

C# code
 protected void BtnBack_Click(object sender, EventArgs e)        {                        string saveAway = "D:\\S2.bak";            string cmdText = @"use master;backup database TrainSearch to disk='" + saveAway + "'";            SqlCommand cmd = new SqlCommand();            cmd.CommandText = cmdText;            cmd.Connection = con;            con.Open();            cmd.ExecuteNonQuery();                       Common.ShowMessage.Show(Page, "yes", "备份成功!");            con.Close();            BackUpTime bt = new BackUpTime();            string time = DateTime.Now.ToString();            if (bt.EditBackTime(1, time))            {            }            else            {             }                    } 

热点排行