读书人

小弟我写的数据备份为啥说小弟我没权

发布时间: 2012-08-03 00:12:14 作者: rapoo

我写的数据备份,为啥说我没权限,求解释
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            {             }                    } 

读书人网 >C#

热点推荐