C# 备份sql server 数据库 系统拒绝访问!!

deng520159 2008-11-02 04:06:00
系统是xp professional ,数据库是sql server 2005 标准版,
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=.;uid=sa;pwd=sa;database=master";
conn.Open();
SqlCommand cmd = new SqlCommand();
this.textBox5.Text = saveFileDialog1.FileName.ToString();
cmd.CommandText = "BACKUP DATABASE " + this.comboBox1.Text.Trim() + " TO DISK='" +
saveFileDialog1.FileName.ToString() + "'";
cmd.Connection = conn;
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
MessageBox.Show("文件备份成功!");
网上找了一下,有人说是硬盘的文件系统,而我文件系统都是ntfs,又有人说是windows 登陆用户权限有问题,??
但感觉都不对,因为在sql server management studio 中 备份没有问题,能够备份,就是C# 程序出现这问题??
望高手出来仔细说一下,说细点????????
...全文
248 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulin 2008-11-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhoufoxcn 的回复:]
可以的,只不过你没有地方没有对路径和特殊字符进行适当转义罢了。
类似的我也做过的。
[/Quote]
cmd.CommandText = "BACKUP DATABASE " + this.comboBox1.Text.Trim() + " TO DISK='" +
@saveFileDialog1.FileName.ToString() + "'";
sunshine_anycall 2008-11-02
  • 打赏
  • 举报
回复
bs中,你对特定的目录有访问的权限不?
或者说是写的权限有没有呢
hvang1988 2008-11-02
  • 打赏
  • 举报
回复
当前数据库正在使用(有连接对象)的时候,backup恢复数据库会失败,这种情况怎么解决啊?
lovehongyun 2008-11-02
  • 打赏
  • 举报
回复
把你的CommandText 打印出来看看是啥.
周公 2008-11-02
  • 打赏
  • 举报
回复
我在WebForm中都实现了,在WinForm自然也能了。
周公 2008-11-02
  • 打赏
  • 举报
回复
在asp.net中备份还原SQL Server数据库

web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码;另一个是数据库安全性,这个我们可以经常备份数据库来实现。在文中,我将演示如果在网页中备份和恢复数据库。其实备份和恢复数据库都是利用SQL Server提供的SQL语句来备份的。备份:use master;backup database @name to disk=@path;恢复:use master;restore database @name from disk=@path;上面用的是参数化SQL语句,可以在程序执行的时候动态给参数赋值。
周公 2008-11-02
  • 打赏
  • 举报
回复
可以的,只不过你没有地方没有对路径和特殊字符进行适当转义罢了。
类似的我也做过的。
deng520159 2008-11-02
  • 打赏
  • 举报
回复
试了一下,果然没问题,但是有点想不通,sql server 安装在本机上,程序savefiledialog 只是想得到一个保存路径,比如:D:\back.bak;
这样也不行么??
是是非非 2008-11-02
  • 打赏
  • 举报
回复

cmd.CommandText = "BACKUP DATABASE " + this.comboBox1.Text.Trim() + " TO DISK='C:\111.dbk'";


试试这个肯定没问题
是是非非 2008-11-02
  • 打赏
  • 举报
回复
cmd.CommandText = "BACKUP DATABASE " + this.comboBox1.Text.Trim() + " TO DISK='" +
saveFileDialog1.FileName.ToString() + "'";


BACKUP DATABASE 这个操作是备份数据库到服务器的文件系统的

saveFileDialog1.FileName.ToString() 这个是你本地的文件系统

根本不是一回事

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧