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

C Builder中,sqlserver在客户端调用存储过程向服务器端备份数据库 - 应用软件 - 电脑教程网

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

日期:2007-08-29   荐:

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

CREATE PROCEDURE backupdb @database varchar(10), @directory varchar(100)AS backup database @database to disk=@directory

2.Get path of SQL Server.

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;}

3.Call the backup database stored procedure.

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; }

标签: