繁体中文
设为首页
加入收藏
当前位置:数据库技术首页 >> Sql Server教程 >> C++Builder中,sqlserver在客户端调用存储过程向服务器端备份数据库

C++Builder中,sqlserver在客户端调用存储过程向服务器端备份数据库

2007-03-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:1.Create a backup database stored procedure in master database.iTbulo .comYLZoM CREATE PROCEDURE backupdb @database varchar(10), @directory varchar(100) AS backup database @database to disk=@direc...

1.Create a backup database stored procedure in master database.iTbulo .comYLZoM

CREATE PROCEDURE backupdb

@database varchar(10),

@directory varchar(100)

AS

backup database @database

to disk=@directoryiTbulo .comYLZoM

2.Get path of SQL Server.iTbulo .comYLZoM

AnsiString __fastcall TFrmDM::GetSqlServerPath(){

AnsiString result,tmp;

TADOQuery *Query=new TADOQuery(this);

Query->Connection=ADOConnection_Master;

Query->Close();

Query->SQL->Clear();

Query->SQL->Add("select filename from sysdatabases where name='master'");

Query->Open();

tmp=Query->FieldByName("filename")->AsString;

result=tmp.SubString(1,tmp.Length()-15);

Query->Free();

return result;

}iTbulo .comYLZoM

3.Call the backup database stored procedure.iTbulo .comYLZoM

d=FormatDateTime("yyyy-mm-dd hh-mm-ss",FrmDM->GetServerTime());

try{

path=FrmDM->GetSqlServerPath()+"backup\\";

FrmDM->ADOStoredProc1->Close();

FrmDM->ADOStoredProc1->Connection=FrmDM->ADOConnection_Master;

FrmDM->ADOStoredProc1->Prepared=true;

FrmDM->ADOStoredProc1->ProcedureName="backupdb;1";

FrmDM->ADOStoredProc1->Parameters->ParamByName("@database")->Value = "db_name_to_backup";

FrmDM->ADOStoredProc1->Parameters->ParamByName("@directory")->Value =path+"db_name_to_backup"+d;

FrmDM->ADOStoredProc1->ExecProc();

Application->MessageBox("备份完成","提示",MB_OK+MB_ICONINFORMATION);

this->Close();

}

catch(...){

Application->MessageBox("备份出错,请重新再来","警告",MB_OK+MB_ICONWARNING);

return;

}iTbulo .comYLZoM

责任编辑:admin
相关文章