Foxtable(狐表)用户栏目专家坐堂 → 备份数据库数据


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

主题:备份数据库数据

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


加好友 发短信
等级:五尾狐 帖子:1187 积分:8266 威望:0 精华:0 注册:2015/3/30 10:44:00
备份数据库数据  发帖心情 Post By:2018/6/11 9:53:00 [只看该作者]

假定希望系统每十分钟自动备份一次项目,可以增加一个计划,计划的执行间隔600000(毫秒),也就是10分钟,计划的代码为:

Static dt As Date '静态变量,用于保存上次备份的时间
Dim
tp As TimeSpan
tp
= Date.Now - dt
If
tp.TotalHours >= 1 Then '如果距离上次备份已经超过一个小时   ------这是按照1小时备份一次吧,不是10分钟吧。
    dt = Date.Now
    Syscmd.Project.Backup("c:\data", True) '自动备份到c:\data目录

End
If


这是备份的ft项目吧。不是备份的ft后台的数据库吧,有没有办法通过ft备份数据库的数据?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 9:55:00 [只看该作者]

如果是access数据库,直接拷贝mdb文件保存即可;

 

如果sqlserver数据库,直接执行sql语句备份,如

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=99994&skin=0

 


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


加好友 发短信
等级:五尾狐 帖子:1187 积分:8266 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2018/6/11 11:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:20180611112342.png
图片点击可在新窗口打开查看


我的外部数据源是songjiang,那么对于的数据库名称是不是红色的songjiang.mdf?

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "use master;BACKUP DATABASE songjiang.mdf TO DISK = 'D:\songjiang.bak' WITH FORMAT,CHECKSUM;"
cmd.ExecuteNonQuery

怎么报错啊
.NET Framework 版本:2.0.50727.7905
Foxtable 版本:2018.3.9.1
错误所在事件:
详细错误信息:
关键字 'with' 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾。
'.' 附近有语法错误。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 12:00:00 [只看该作者]

cmd.CommandText = "use master;BACKUP DATABASE 数据库名字,不是文件名 TO DISK = 'D:\songjiang.bak' WITH FORMAT,CHECKSUM;"

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


加好友 发短信
等级:五尾狐 帖子:1187 积分:8266 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2018/6/11 12:07:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "use master;BACKUP DATABASE songjiang TO DISK = 'D:\songjiang.bak' WITH FORMAT,CHECKSUM;"
cmd.ExecuteNonQuery


这是备份到数据库的那个硬盘D了吧。如果我要备份到我本地,怎么弄?数据库是在另外一台服务器上的。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 12:09:00 [只看该作者]

以下是引用huhu在2018/6/11 12:07:00的发言:

 

这是备份到数据库的那个硬盘D了吧。如果我要备份到我本地,怎么弄?数据库是在另外一台服务器上的。

 

服务器搭建了ftp或者http了没有?备份以后,再用ftp把D盘的文件下载下来。


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


加好友 发短信
等级:五尾狐 帖子:1187 积分:8266 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2018/6/11 12:24:00 [只看该作者]

哦。这样。那下午试试。
还有问题,这种备份是直接覆盖,而不是按照时间新增。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 14:24:00 [只看该作者]

以下是引用huhu在2018/6/11 12:24:00的发言:
哦。这样。那下午试试。
还有问题,这种备份是直接覆盖,而不是按照时间新增。

 

文件名那里,改成动态文件名,如

 

Dim file As string = "d:\test" & formate(date.now, "yyyyMMddHHmmss") & ".bak"

cmd.CommandText = "use master;BACKUP DATABASE songjiang TO DISK = '" & file & "' WITH FORMAT,CHECKSUM;"

 

[此贴子已经被作者于2018/6/11 18:00:16编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1187 积分:8266 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2018/6/11 17:55:00 [只看该作者]

songjiang20180611000000.bak   ‘时分秒都为0?’

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 17:59:00 [只看该作者]

写错,改成

 

Dim file As string = "d:\test" & formate(date.now, "yyyyMMddHHmmss") & ".bak"


 回到顶部