C++ Builder中,sql server在客户端调用存储过程向服务器端备份数据库 - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- C++ Builder中,sql server在客户端调用存储过程向服务器端备份数据库 (http://www.webasp.net/article/19/18622.htm) |
| -- 作者:未知 -- 发布日期: 2005-04-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; } |
| webasp.net |