以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  远程sql 数据库 备份到当地ACess 请教几个问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82906)

--  作者:jswjyjf
--  发布时间:2016/3/27 15:06:00
--  远程sql 数据库 备份到当地ACess 请教几个问题?
远程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.如果数据较多 ,耗时比较长,能不能做个等待提示



--  作者:大红袍
--  发布时间: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
--  发布时间:2016/3/27 15:24:00
--  
能不能做个进度条
--  作者:大红袍
--  发布时间:2016/3/27 15:27:00
--  
看2楼,你原本代码就是进度条啊。如果你要用窗口显示进度条,就加一个窗口。
--  作者:jswjyjf
--  发布时间:2016/3/27 15:32:00
--  
我这个是买的Sql数据库 要每天备份到本地


--  作者:jswjyjf
--  发布时间:2016/3/27 15:33:00
--  
加个窗口比较好 窗口里如何设置进度条
--  作者:大红袍
--  发布时间: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
--  发布时间:2016/3/27 15:43:00
--  
多谢
--  作者:jswjyjf
--  发布时间: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="正在备份"  为何最后显示出来 

--  作者:大红袍
--  发布时间:2016/3/27 15:59:00
--  

 看看这里

 

http://www.foxtable.com/help/topics/1476.htm