以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 远程sql 数据库 备份到当地ACess 请教几个问题? (http://foxtable.net/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
|