|
关于数据库备份!
string ls_use
ls_use = 'EXEC'+'('+"'USE master'"+')'
EXECUTE IMMEDIATE :ls_use ;
ls_use = "EXEC sp_addumpdevice 'disk' , 'coolnan' , 'c:\aa.mdf'"
EXECUTE IMMEDIATE : ls_use ;
ls_use ='BACKUP DATABASE picture TO coolnan'
EXECUTE IMMEDIATE : ls_use ;
IF SQLCA.SQLCODE = -1 THEN
Messagebox("系统信息","数据库备份失败!~r~n~n请到检查路径正确与否。",Stopsign!)
this.enabled = TRUE
cb_restore.enabled = TRUE
sqlca.sqlcode = 0
sqlca.sqldbcode = 0
ls_use = "EXEC sp_dropdevice 'coolnan'"
EXECUTE IMMEDIATE : ls_use ;
RETURN
END IF
ls_use = "EXEC sp_dropdevice 'coolnan'"
EXECUTE IMMEDIATE : ls_use ;
为什么不好使呢?SQLCA.SQLCODE 每次都返回 -1
用SQL查询分析器可以直接执行
EXEC('USE master')
EXEC sp_addumpdevice 'disk' , 'coolnan' ,'c:\aa.mdf'
BACKUP DATABASE picture TO coolnan
EXEC sp_dropdevice 'coolnan'
执行结果:
(所影响的行数为 1 行)
'硬盘' 设备已添加。
已处理 96 页,这些页属于数据库 'picture' 的文件 'picture_Data'(位于文件 3 上)。
已处理 1 页,这些页属于数据库 'picture' 的文件 'picture_Log'(位于文件 3 上)。
BACKUP DATABASE 操作成功地处理了 97 页,花费了 0.239 秒(3.294 MB/秒)。
设备已除去。
[[i] 本帖最后由 tl-study 于 2006-10-21 15:24 编辑 [/i]] |
| ribut9225 | | 2006-10-24 01:08 |
|
偶觉得你好像组成的SQL语句字符串有问题
你在执行前,把要执行的SQL语句MESSAGEBX一下,
看看SQL语句是否有问题 |
| zengbz469 | | 2006-10-26 17:56 |
|
先建一个backup(string backup_mode,return int)
if backup_mode = "INIT" then
str_sql="BACKUP DATABASE "+str_dbname+" to disk='"+str_bkfilename+"'" + "WITH INIT" //(重写:"WITH INIT" 差异:"WITH DIFFERENTIAL" 完全追加:无with子句)
end if
if backup_mode = "DIFFERENTIAL" then
str_sql="BACKUP DATABASE "+str_dbname+" to disk='"+str_bkfilename+"'" + "WITH DIFFERENTIAL" //(重写:"WITH INIT" 差异:"WITH DIFFERENTIAL" 完全追加:无with子句)
end if
if backup_mode = "fulladd" then
str_sql="BACKUP DATABASE "+str_dbname+" to disk='"+str_bkfilename+"'" //(重写:"WITH INIT" 差异:"WITH DIFFERENTIAL" 完全追加:无with子句)
end if
EXECUTE IMMEDIATE :str_sql;
if sqlca.sqlcode 0 then
str_tmp=sqlca.sqlerrtext
disconnect;
messagebox('提示','备份数据库时出错,详细信息如下:~r~n~r~n'+str_tmp)
return 0
else
disconnect;
messagebox("提示","数据库已备份在"+str_bkfilename+"的文件,并会重新启动系统!")
close(w_master)
end if
return 1 |
关键词: 备份 数据库 数据库备份 军
相关文章: MySQL数据库备份 ORACLE 数据库备份技术 PB/Sybase系统开发中的数据库转移 PartitionMagic整坏了,数据怎么恢复,请指教
Powered by 51CTO.COM
|