以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]备份数据库 动态目录 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94535) |
-- 作者:zswushi -- 发布时间: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编辑过]
|
-- 作者:有点色 -- 发布时间:2016/12/26 10:11:00 -- 1、备份的时候,是备份在sqlserver所在的电脑上的,而不是你的电脑。
2、你可以在服务电脑搭建ftp,备份到对应路径后,你再下载到你本地计算机去。 |
-- 作者:zswushi -- 发布时间:2016/12/26 10:25:00 -- 我知道是备份在服务器电脑上,服务器电脑有 几个分区,有时我想让客户备份到U盘上,这个是做的手动备份,我会设置自动备份,就是我指定在哪个目录,就备份在哪个位置,不用代码提前指定路径 [此贴子已经被作者于2016/12/26 10:26:23编辑过]
|
-- 作者:有点色 -- 发布时间:2016/12/26 11:01:00 -- 如果你是在服务器上操作的,就这样写
cmd.CommandText = "use master;BACKUP DATABASE X0 TO DISK = \'" & dlg.FileName & "\' WITH FORMAT;" |
-- 作者:zswushi -- 发布时间:2016/12/26 12:46:00 -- 可以啦,非常感谢!! |
-- 作者:zswushi -- 发布时间: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 上述着色的 两个 变量 应该 动态合成有问题呀,我试了很久都不行,
|
-- 作者:有点色 -- 发布时间:2016/12/26 15:39:00 -- cmd.ConnectionName = zf2 cmd.CommandText = "use master;BACKUP DATABASE " & zf2 & " To DISK = \'" & dlg.FileName & "\' WITH FORMAT;"
|
-- 作者:zswushi -- 发布时间:2016/12/26 16:18:00 -- 应该是 这句 cmd.ConnectionName = zf2 出问题呀 我之前这样写过, 软件一直提示 ,不存在名为 “ *****” 的 数据源呀, 若我换成 真正的数据库名称 ,就可以,用变量来替换就不行呀 |
-- 作者:有点色 -- 发布时间:2016/12/26 16:26:00 -- msgbox(zf2) 看看弹出的值是否正确。
如果不正确,说明是你获取到的东西有问题。 |
-- 作者:zswushi -- 发布时间:2016/12/26 17:40:00 -- messagebox 提示 然后系统弹出的提示 : |