单搞定ASA备份/恢复程序
来源:互联网 发布:知乎 如何自学建筑设计 编辑:程序博客网 时间:2024/05/16 13:38
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
AdaptiveServerAnywhere(本文中简称ASA)是(本文中简称PB)自带的管理系统,可作为小型应用系统的数据库服务器。而数据库的备份/恢复是一项基本的工作,要想用短短几分钟就完成这类程序的编写,能做到吗?本文就将为大家介绍一个用PB编写的ASA备份/恢复程序,只需很短的时间,就可以编制完成并运用在以ASA作为数据环境的小型应用上。
一备份程序
先来看看备份程序部分的写法。在窗体上建一文本框sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
stringfname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
stringmysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUPDATABASETO'”+bfname+“'”
executeimmediate:MysqlUSINGSQLCA;//运用SQL语句立刻执行备份
ifsqlca.sqlcode=0then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
endif
二恢复程序
再来看看恢复数据库程序的编写。在窗体上建一文本框sle_1,显示用来恢复的备份文件名,并添加两个按钮:cb_1(查找)、cb_2(恢复)。声明一个修改文件属性的API函数:
FUNCTIONulongSetFileAttributes(refstringlpFileName,ulongdwFileAttributes)LIBRARY“kernel32.dll”ALIASFOR“SetFileAttributesA”
相应的事件代码如下:
//cb_1.clicked()
stringfname,name
GetfileOPenName('查找',fname,name,“1”,“数据库备份文件(*.1),*.1”)
sle_1.text=fname
//cb_2.clicked()
stringmysql,bfname,gzname
ulongsxz=32,kb//sxz为文件的属性值,32表示可读写
booleantmp
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
//d:lgz为示例中数据库文件所在目录,tmp.db为临时的数据库文件
mysql=“RESTOREDATABASE'd:lgz/tmp.db'FROM'”+bfname+“'”
executeimmediate:MysqlUSINGSQLCA;//同样是运用SQL语句来立刻执行恢复数据库的工作
ifsqlca.sqlcode<>0then
messagebox(“信息提示”,'数据恢复失败!',information!,OK!)
return
endif
disconnect;//断开数据库连接
gzname='d:lgz/gz.db'//包含路径的数据库文件
SetFileAttributes(gzname,sxz)//去掉只读属性
tmp=filedelete('d:lgz/gz.db')//删除恢复前的数据库
iftmp=falsethen
messagebox(“信息提示”,'备份失败!',information!,OK!)
return
endif
//将临时的数据库复制到当前的数据库文件上
bfname=“d:lgz/tmp.db”
gzname=“d:lgz/gz.db”
kb=filecopy(bfname,gzname,true)
ifkb=1then
messagebox(“信息提示”,'数据库恢复成功!',information!,OK!)
else
messagebox(“信息提示”,'数据库复制失败!',information!,OK!)
return
endif
filedelete('d:lgz/tmp.db')//删除临时的数据库文件
connect;
三小结
程序备份和恢复的实现都只是调用了SQL内置的功能来实现,使程序显得相对简洁。功能虽然比较单一和简单,却也能满足数据库的备份和恢复的工作需求,在要求不高的应用场合可为数据库管理人员节约大量精力。上述程序在PB9.0中调试通过。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
AdaptiveServerAnywhere(本文中简称ASA)是(本文中简称PB)自带的管理系统,可作为小型应用系统的数据库服务器。而数据库的备份/恢复是一项基本的工作,要想用短短几分钟就完成这类程序的编写,能做到吗?本文就将为大家介绍一个用PB编写的ASA备份/恢复程序,只需很短的时间,就可以编制完成并运用在以ASA作为数据环境的小型应用上。
一备份程序
先来看看备份程序部分的写法。在窗体上建一文本框sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
stringfname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
stringmysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUPDATABASETO'”+bfname+“'”
executeimmediate:MysqlUSINGSQLCA;//运用SQL语句立刻执行备份
ifsqlca.sqlcode=0then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
endif
二恢复程序
再来看看恢复数据库程序的编写。在窗体上建一文本框sle_1,显示用来恢复的备份文件名,并添加两个按钮:cb_1(查找)、cb_2(恢复)。声明一个修改文件属性的API函数:
FUNCTIONulongSetFileAttributes(refstringlpFileName,ulongdwFileAttributes)LIBRARY“kernel32.dll”ALIASFOR“SetFileAttributesA”
相应的事件代码如下:
//cb_1.clicked()
stringfname,name
GetfileOPenName('查找',fname,name,“1”,“数据库备份文件(*.1),*.1”)
sle_1.text=fname
//cb_2.clicked()
stringmysql,bfname,gzname
ulongsxz=32,kb//sxz为文件的属性值,32表示可读写
booleantmp
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
//d:lgz为示例中数据库文件所在目录,tmp.db为临时的数据库文件
mysql=“RESTOREDATABASE'd:lgz/tmp.db'FROM'”+bfname+“'”
executeimmediate:MysqlUSINGSQLCA;//同样是运用SQL语句来立刻执行恢复数据库的工作
ifsqlca.sqlcode<>0then
messagebox(“信息提示”,'数据恢复失败!',information!,OK!)
return
endif
disconnect;//断开数据库连接
gzname='d:lgz/gz.db'//包含路径的数据库文件
SetFileAttributes(gzname,sxz)//去掉只读属性
tmp=filedelete('d:lgz/gz.db')//删除恢复前的数据库
iftmp=falsethen
messagebox(“信息提示”,'备份失败!',information!,OK!)
return
endif
//将临时的数据库复制到当前的数据库文件上
bfname=“d:lgz/tmp.db”
gzname=“d:lgz/gz.db”
kb=filecopy(bfname,gzname,true)
ifkb=1then
messagebox(“信息提示”,'数据库恢复成功!',information!,OK!)
else
messagebox(“信息提示”,'数据库复制失败!',information!,OK!)
return
endif
filedelete('d:lgz/tmp.db')//删除临时的数据库文件
connect;
三小结
程序备份和恢复的实现都只是调用了SQL内置的功能来实现,使程序显得相对简洁。功能虽然比较单一和简单,却也能满足数据库的备份和恢复的工作需求,在要求不高的应用场合可为数据库管理人员节约大量精力。上述程序在PB9.0中调试通过。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 单搞定ASA备份/恢复程序
- 简单搞定ASA备份/恢复程序
- RAC备份恢复到单节点
- innobackupex单表增量备份与恢复
- mysql xtrabackup备份恢复单表
- Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份
- Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份
- 通过程序一句话备份恢复SqlServer数据库
- 通过程序一句话备份恢复SqlServer数据库
- oracle数据库备份与恢复程序实现
- 数据库的备份和恢复程序
- 用程序恢复所备份的数据库
- 使用客户端程序备份和恢复数据
- adb备份恢复指定程序数据
- 利用XtraBackup做全量备份、增量备份、数据目录相同恢复、数据目录不同恢复、单表备份恢复
- db2导入导出单表数据 db2备份恢复
- db2导入导出单表数据 db2备份恢复
- db2导入导出单表数据 db2备份恢复
- 云计算近期资讯
- 数据量过大时操作的处理
- 读取bmp文件
- SQL函数的详细用法
- 经典语录:每个人都是企业家,自己本身就是一家企业!
- 单搞定ASA备份/恢复程序
- 人的改变还是很快的
- 12个用一条语句写成的有关日期函数
- ASA无法连接小解
- 郁闷的图像输入卡
- ultraedit配置方法二
- [FreelistsInternal]关于Freelists和FreelistGroups的研究
- SQL*PLUS命令的使用大全
- 经验谈二(引)