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

tainy 2002-05-11 10:16:51
全面征集Anywhere数据库备份方案~!
...全文
34 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧