另外备份到底备份了哪些东西?恢复又恢复了哪些?
希望高手们讲解一下原理,小弟感激不尽!!!
8 个解决方案
#1
自己up!各位好心人帮帮忙!
#2
Adaptive Server Anywhere(本文中简称ASA) 是PowerBuilder(本文中简称PB)自带的数据库管理系统,可作为小型应用系统的数据库服务器。而数据库的备份/恢复是一项基本的工作,要想用短短几分钟就完成这类程序的编写,能做到吗?本文就将为大家介绍一个用PB编写的ASA备份/恢复程序,只需很短的时间,就可以编制完成并运用在以ASA作为数据环境的小型应用上。
一 备份程序
先来看看备份程序部分的写法。在窗体上建一文本框 sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
string fname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
string mysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
if sqlca.sqlcode=0 then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
end if
我已经将GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
改成了GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.db),*.db')
为什么保存后还是..1格式
一 备份程序
先来看看备份程序部分的写法。在窗体上建一文本框 sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
string fname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
string mysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
if sqlca.sqlcode=0 then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
end if
我已经将GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
改成了GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.db),*.db')
为什么保存后还是..1格式
#3
谁来帮我看看啊!
#4
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#5
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#6
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#7
大哥,你不是玩我吗?
#8
我这几天正在做备份.给你看看.不过我是备份SQL的,是成功的.希望能帮到你
int li_net
//数据库完全备份
string ls_path ,ls_use
//
ls_use = 'EXEC'+'('+"'USE Studentexperiment'"+')' //建立备份的逻辑设备
EXECUTE IMMEDIATE :ls_use ;
ls_path = sle_1.text //得到路径
SQLCA.AutoCommit = TRUE
ls_use = "EXEC sp_addumpdevice 'disk'"+" , 'Studentexperiment' , "+" '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ; //写到备份路径
ls_use ="BACKUP DATABASE Studentexperiment to Studentexperiment"//备份数据库 studentexperiment 为studentexperiment
EXECUTE IMMEDIATE : ls_use ;
ls_use = "exec sp_dropdevice 'Studentexperiment'" //删除逻辑设备
EXECUTE IMMEDIATE : ls_use ;
SQLCA.AutoCommit = false
if sqlca.sqlcode = 0 then
messagebox("信息","备份成功!")
end if
int li_net
//数据库完全备份
string ls_path ,ls_use
//
ls_use = 'EXEC'+'('+"'USE Studentexperiment'"+')' //建立备份的逻辑设备
EXECUTE IMMEDIATE :ls_use ;
ls_path = sle_1.text //得到路径
SQLCA.AutoCommit = TRUE
ls_use = "EXEC sp_addumpdevice 'disk'"+" , 'Studentexperiment' , "+" '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ; //写到备份路径
ls_use ="BACKUP DATABASE Studentexperiment to Studentexperiment"//备份数据库 studentexperiment 为studentexperiment
EXECUTE IMMEDIATE : ls_use ;
ls_use = "exec sp_dropdevice 'Studentexperiment'" //删除逻辑设备
EXECUTE IMMEDIATE : ls_use ;
SQLCA.AutoCommit = false
if sqlca.sqlcode = 0 then
messagebox("信息","备份成功!")
end if
#1
自己up!各位好心人帮帮忙!
#2
Adaptive Server Anywhere(本文中简称ASA) 是PowerBuilder(本文中简称PB)自带的数据库管理系统,可作为小型应用系统的数据库服务器。而数据库的备份/恢复是一项基本的工作,要想用短短几分钟就完成这类程序的编写,能做到吗?本文就将为大家介绍一个用PB编写的ASA备份/恢复程序,只需很短的时间,就可以编制完成并运用在以ASA作为数据环境的小型应用上。
一 备份程序
先来看看备份程序部分的写法。在窗体上建一文本框 sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
string fname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
string mysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
if sqlca.sqlcode=0 then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
end if
我已经将GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
改成了GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.db),*.db')
为什么保存后还是..1格式
一 备份程序
先来看看备份程序部分的写法。在窗体上建一文本框 sle_1,用来显示备份的文件名,并添加两个按钮:cb_1(浏览)、cb_2(备份)。相应的事件代码如下:
//cb_1.clicked()
string fname,name
GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
sle_1.text=fname
//cb_2.clicked()
string mysql,bfname
bfname=trim(sle_1.text)
bfname=left(bfname,len(bfname)-2)
mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
if sqlca.sqlcode=0 then
messagebox(“信息提示”,'备份成功!',information!,OK!)//给出备份成功与否的相关信息
else
messagebox(“信息提示”,'备份失败!',information!,OK!)
end if
我已经将GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.1),*.1')
改成了GetfileSaveName('保存',fname,name,“db”,'数据库备份文件(*.db),*.db')
为什么保存后还是..1格式
#3
谁来帮我看看啊!
#4
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#5
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#6
把mysql=“BACKUP DATABASE TO '”+bfname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
改成
mysql=“BACKUP DATABASE TO '”+fname+“'”
execute immediate :Mysql USING SQLCA;//运用SQL语句立刻执行备份
试试
#7
大哥,你不是玩我吗?
#8
我这几天正在做备份.给你看看.不过我是备份SQL的,是成功的.希望能帮到你
int li_net
//数据库完全备份
string ls_path ,ls_use
//
ls_use = 'EXEC'+'('+"'USE Studentexperiment'"+')' //建立备份的逻辑设备
EXECUTE IMMEDIATE :ls_use ;
ls_path = sle_1.text //得到路径
SQLCA.AutoCommit = TRUE
ls_use = "EXEC sp_addumpdevice 'disk'"+" , 'Studentexperiment' , "+" '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ; //写到备份路径
ls_use ="BACKUP DATABASE Studentexperiment to Studentexperiment"//备份数据库 studentexperiment 为studentexperiment
EXECUTE IMMEDIATE : ls_use ;
ls_use = "exec sp_dropdevice 'Studentexperiment'" //删除逻辑设备
EXECUTE IMMEDIATE : ls_use ;
SQLCA.AutoCommit = false
if sqlca.sqlcode = 0 then
messagebox("信息","备份成功!")
end if
int li_net
//数据库完全备份
string ls_path ,ls_use
//
ls_use = 'EXEC'+'('+"'USE Studentexperiment'"+')' //建立备份的逻辑设备
EXECUTE IMMEDIATE :ls_use ;
ls_path = sle_1.text //得到路径
SQLCA.AutoCommit = TRUE
ls_use = "EXEC sp_addumpdevice 'disk'"+" , 'Studentexperiment' , "+" '"+ls_path+"'"
EXECUTE IMMEDIATE : ls_use ; //写到备份路径
ls_use ="BACKUP DATABASE Studentexperiment to Studentexperiment"//备份数据库 studentexperiment 为studentexperiment
EXECUTE IMMEDIATE : ls_use ;
ls_use = "exec sp_dropdevice 'Studentexperiment'" //删除逻辑设备
EXECUTE IMMEDIATE : ls_use ;
SQLCA.AutoCommit = false
if sqlca.sqlcode = 0 then
messagebox("信息","备份成功!")
end if