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


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

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

帅哥哟,离线,有人找我吗?
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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

可以啦,非常感谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
zswushi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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

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


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

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

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




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


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

messagebox  提示  



然后系统弹出的提示 :


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

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



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


加好友 发短信
等级:幼狐 帖子:185 积分:1729 威望:0 精华:0 注册:2016/5/30 16:23:00
  发帖心情 Post By:2016/12/28 11:12:00 [显示全部帖子]

问题找到啦,原来问题就是出现在这里 

  cmd.ConnectionName = zf2   ZF2是个数据库的变量名,这里应该是 数据源的名称,数据源的名称和数据库的名称是不同的两个概念,可相同,可不同,但数据源是固定的,数据库的名称是可以随时改变的!
谢谢!

 回到顶部