源代码 如下:
protected void Page_Load(object sender, EventArgs e)
    {        SqlConnection sqlcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["myConnString"]);
        sqlcon.Open();
      string   sqltext = "Exec sp_helpdb";
        SqlCommand sqlcom = new SqlCommand(sqltext ,sqlcon );
        SqlDataReader dr = sqlcom.ExecuteReader();
        DropDownList1.DataSource = dr;
        DropDownList1.DataTextField = "name";
        DropDownList1.DataBind();
        sqlcon .Close ();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection mysqlcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["myConnString"]);
        mysqlcon.Open();
        string sql = "backup database "+DropDownList1.SelectedItem .Value +" to disk = '"+TextBox1 .Text .Trim ()+".bak'";
        try
        {        
            if (File.Exists(this.TextBox1.Text.Trim()))
            {
                Response.Write("<script language=javascript>alert ('此文件已存在,请从新输入!');</script>");                return;            }
            SqlCommand sqlcomm = new SqlCommand(sql, mysqlcon);
            sqlcomm.ExecuteNonQuery();
            Response.Write("<script language=javascript>alert('备份数据成功!'); </script>");
        }
        catch (Exception ms)
        {
            Response.Write(ms.Message);
            Response.Write("<script language=javascript>alert('备份数据失败!'); </script>");        }
        finally
        {
            mysqlcon.Close();
        } 
     mysqlcon.Close(); 
    }

解决方案 »

  1.   

    是不是已经存在aa.bak文件了呢?
      

  2.   

    你有访问'e:\aa.bak'的权限吗,为什么不放在网站的App_Data目录呢?
      

  3.   

    是sql那台机器的e:\aa.bak吧?以前web生成文件的时候有过类似问题,就是你本地测试的文件生成好后,直接放到服务器上,因为换了环境,权限也就不同了,所以不能覆盖或者删除.在服务器端重新生成一次就可以.或者改文件的权限.用sql备份,应该算是服务器本地操作,应该没问题吧...
      

  4.   

    这个问题我也想问一下,但是我也有了一点小发现,就是sqlsever2005备份和还原在FAT32上能用,不会出现楼主的错误信息,但是在NTFS上就不行了。还请高人们提点一下这是为什么?
      

  5.   

    这个问题我也想问一下,但是我也有了一点小发现,就是sqlsever2005备份和还原在FAT32上能用,不会出现楼主的错误信息,但是在NTFS上的根目录上就不行了。还请高人们提点一下这是为什么?