全面征集Anywhere数据库备份方案~!

tainy FDS 其他  2002-05-11 10:16:51
全面征集Anywhere数据库备份方案~!
...全文
10 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaoxianhe 2002-05-11
1、copy (使用API,拷贝时Disconnect)
2、dbbackup
回复
圣殿骑士18 2002-05-11
dbbackup.exe很好用
回复
wg2000happy 2002-05-11
用winapi函数,来实现copy
回复
qwen 2002-05-11
copy,恢复时同样采用拷贝,这样代码可重复,简单。哈哈
回复
kfh666 2002-05-11
up
回复
tainy 2002-05-11
up
回复
xiaobzg 2002-05-11
1、拷贝;2、dbbackup.exe
回复
oftenfail 2002-05-11
1、另外觉得直接copy .db and .log 比较方便。pb8以前要用api函数CopyFileA(ref string cfrom,ref string cto,boolean flag) LIBRARY "DERNEL32.DLL" PB8提供了FileCopy(sourcefile,targetfile{,replace})//sourcefile 源文件名称;targetfile 目标文件名称;replace当目标文件存在时,设置是否覆盖目标文件。
2、c:\sqlany50\win32\dbbackup.exe -c uid=xx;pwd=xx -t -y > \\servername\sharename\directory
对于路径pb8以前用GetCurrentDirectoryA()这个API,PB8可以用GetCurrentDirectory()
回复
oftenfail 2002-05-11
你看看这样行不行
//函数名:of_backupsqlserver(string arg_path ,string arg_dbname)


string ls_exec,ls_device


ls_exec = "EXECUTE ('USE master')"
EXECUTE IMMEDIATE :ls_exec;

SQLCA.AutoCommit = TRUE


if right(arg_path,1) = "\" then arg_path = left(arg_path,len(arg_path) - 1)
ls_device = arg_path + "\" + arg_dbname + ".dat"

if SQLCA.SQLCode >= 0 then
messagebox("提示信息","开始备份数据库!")
else
messagebox("提示信息","数据库联接错误!")
end if

ls_exec = "EXECUTE sp_addumpdevice 'disk','" + arg_dbname + "','" + ls_device + "'"
EXECUTE IMMEDIATE :ls_exec;


ls_exec = "BACKUP DATABASE " + arg_dbname + " TO " + arg_dbname +" with init"
EXECUTE IMMEDIATE :ls_exec;

ls_exec = "EXECUTE sp_dropdevice '" + arg_dbname + "'"
EXECUTE IMMEDIATE :ls_exec;

SQLCA.AutoCommit = FALSE

if SQLCA.SQLCode >= 0 then
messagebox("提示信息","执行完全备份数据库成功!~r~n备份文件保存在" + arg_path + "\")
end if
回复
banalman 2002-05-11
数据库备份 dbbackup.exe
 os 备份   api
回复
相关推荐
发帖
数据库相关
创建于2007-09-28

734

社区成员

PowerBuilder 数据库相关
申请成为版主
帖子事件
创建了帖子
2002-05-11 10:16
社区公告
暂无公告