Foxtable(狐表)用户栏目专家坐堂 → 远程sql 数据库 备份到当地ACess 请教几个问题?


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

主题:远程sql 数据库 备份到当地ACess 请教几个问题?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
远程sql 数据库 备份到当地ACess 请教几个问题?  发帖心情 Post By:2016/3/27 15:06:00 [只看该作者]

远程sql 数据库 备份到当地ACess  请教几个问题?
Dim t As String
Dim c As Integer = DataTables.Count
Dim i As Integer = 0
For Each dt As DataTable In DataTables
    Dim ex As New Exporter
   ex.FilePath = ProjectPath & "backup\" & Today & ".mdb"
    ex.SourceTableName = dt.Name    
    i= i + 1
    StatusBar.Message3= "正在备份" & dt.name &  i &"/" & c
    StatusBar.ProgressBar.Visible =True
    StatusBar.ProgressBar.Value = i/c    
    t = dt.LoadFilter
    If t <> "" Then
        dt.LoadFilter= ""
        dt.load
        ex.Export()
        dt.LoadFilter = t
        dt.load
    Else
        ex.Export()
    End If
Next

1. 上面的备份 一天只能一次,否则要出错 能不能做到一天几次
2.如果数据较多 ,耗时比较长,能不能做个等待提示



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/27 15:12:00 [只看该作者]

1、ex.FilePath = ProjectPath & "backup\" & Format(Date.Now, "yyyyMMddHHmmss") & ".mdb"

 

2、你可以弹出一个窗口,放入label和进度条,类似你这样写代码

 

StatusBar.Message3= "正在备份" & dt.name &  i &"/" & c

StatusBar.ProgressBar.Visible =True
StatusBar.ProgressBar.Value = i/c  

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/3/27 15:24:00 [只看该作者]

能不能做个进度条

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/27 15:27:00 [只看该作者]

看2楼,你原本代码就是进度条啊。如果你要用窗口显示进度条,就加一个窗口。

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/3/27 15:32:00 [只看该作者]

我这个是买的Sql数据库 要每天备份到本地


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/3/27 15:33:00 [只看该作者]

加个窗口比较好 窗口里如何设置进度条

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/27 15:34:00 [只看该作者]

 那你可以直接用sql语句备份,然后下载文件下来。

 

备份

 

cmd.CommandText = "use master;BACKUP DATABASE 数据库名字 TO DISK = 'D:\wwwroot\web\dpyj1973_smls7i\数据备份\xxxx.bak' WITH FORMAT,CHECKSUM;"

 

恢复

 

cmd.CommandText ="use master; RESTORE DATABASE 数据库名字 FROM DISK='d:\test.bak' With REPLACE;"


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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/3/27 15:43:00 [只看该作者]

多谢

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2016/3/27 15:58:00 [只看该作者]

我做了个窗口进度条
e.Form.Controls("Button1").text="正在备份"
Dim p As WinForm.ProgressBar
p = e.Form.Controls("ProgressBar1")
p.Maximum = DataTables.Count
'设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
Dim t As String
Dim i As Integer = 0
Dim cs As String
cs=Format(Date.Now, "yyyyMMddHHmmss")
For Each dt As DataTable In DataTables
    Dim ex As New Exporter
ex.FilePath = ProjectPath & "backup\" & cs & ".mdb"
    ex.SourceTableName = dt.Name
    i= i + 1
p.value=i
    t = dt.LoadFilter
    If t <> "" Then
        dt.LoadFilter= ""
        dt.load
        ex.Export()
        dt.LoadFilter = t
        dt.load
    Else
        ex.Export()
    End If
Next


其中e.Form.Controls("Button1").text="正在备份"  为何最后显示出来 

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/27 15:59:00 [只看该作者]


 回到顶部