Foxtable(狐表)用户栏目专家坐堂 → [求助]备份数据库 动态目录


  共有2456人关注过本帖树形打印复制链接

主题:[求助]备份数据库 动态目录

帅哥哟,离线,有人找我吗?
zswushi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
[求助]备份数据库 动态目录  发帖心情 Post By:2016/12/26 10:07:00 [只看该作者]

请问下,我备份数据库时,想动态指定目录位置,该怎样写代码,谢谢 !

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog 
dlg.Filter= "数据库文件|*.bak" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then 
Dim cmd As New SQLCommand

cmd.CommandText = "use master;BACKUP DATABASE X0 TO DISK = 'E:\数据备份\X0.bak' WITH FORMAT;"

cmd.ExecuteNonQuery()
End If
messagebox.show("数据备份成功!")

标颜色的部分,我想动态指定目录,也就是选择那个路径,哪个文件夹,就保存在哪个文件里边,谢谢老师指导!
[此贴子已经被作者于2016/12/26 10:08:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/26 10:11:00 [只看该作者]

1、备份的时候,是备份在sqlserver所在的电脑上的,而不是你的电脑。

 

2、你可以在服务电脑搭建ftp,备份到对应路径后,你再下载到你本地计算机去。


 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/26 10:25:00 [只看该作者]

我知道是备份在服务器电脑上,服务器电脑有 几个分区,有时我想让客户备份到U盘上,这个是做的手动备份,我会设置自动备份,就是我指定在哪个目录,就备份在哪个位置,不用代码提前指定路径

[此贴子已经被作者于2016/12/26 10:26:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/26 11:01:00 [只看该作者]

 如果你是在服务器上操作的,就这样写

 

cmd.CommandText = "use master;BACKUP DATABASE X0 TO DISK = '" & dlg.FileName & "' WITH FORMAT;"


 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/26 12:46:00 [只看该作者]

可以啦,非常感谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/26 14:54:00 [只看该作者]

还有请问下,我想设置为动态的数据库 名  我设置了变量  zf2 作为数据库的变量名,怎么连接名称一直出错呢??谢谢!

Dim str1 As String = Filesys.ReadAllText(ProjectPath & "配置文件.ini",system.text.encoding.default)
Dim str2() As String = Str1.Split(vblf)
Dim str3() As String
Dim zf2 As String
For i As Integer =1 To str2.length -1
    str3 = str2(i).split("=")
    If str3.length = 2 Then
        If str3(0) = "数据库名" Then
            zf2 = str3(1)
        End If
    End If
Next
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "数据库文件|*.bak" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then
    Dim cmd As New SQLCommand

    cmd.ConnectionName = " & zf2 & "   

    cmd.CommandText = "use master;BACKUP DATABASE “ & zf2 & ” To DISK = '" & dlg.FileName & "' WITH FORMAT;"
    cmd.ExecuteNonQuery()
    messagebox.show("数据备份成功!")
End If

上述着色的 两个 变量 应该 动态合成有问题呀,我试了很久都不行,

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/26 15:39:00 [只看该作者]

    cmd.ConnectionName = zf2

    cmd.CommandText = "use master;BACKUP DATABASE " & zf2 & " To DISK = '" & dlg.FileName & "' WITH FORMAT;"

 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/26 16:18:00 [只看该作者]

  应该是 这句  cmd.ConnectionName = zf2  出问题呀 

我之前这样写过, 软件一直提示 ,不存在名为  “ *****”  的 数据源呀, 若我换成 真正的数据库名称 ,就可以,用变量来替换就不行呀




 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/26 16:26:00 [只看该作者]

msgbox(zf2) 看看弹出的值是否正确。

 

如果不正确,说明是你获取到的东西有问题。


 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/26 17:40:00 [只看该作者]

messagebox  提示  



然后系统弹出的提示 :


我本来的数据库 也是 X1BJ,直接用X1BJ就没有问题
图片点击可在新窗口打开查看此主题相关图片如下:数据库名.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:保存时的提示.jpg
图片点击可在新窗口打开查看



 回到顶部
总数 12 1 2 下一页