日期:2014-05-18 浏览次数:20566 次
using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Diagnostics;
using System.Net;
public partial class BackupDB_Default : System.Web.UI.Page
{
#region Define Variables
bool isSuccess = false;
string ftpServerIP = "101.101.10.104";//Remote Server
int ftpPort = 21;
string ftpUserID = "T";
string ftpPassword = "abcdef11";
string pBackupDBAndCompressFilesPath = @"D:\DataCenter";
string pBackupDBFileName = "Iridian2#168EW@370$.bak";
string pCompressFileName = "Iridian2#168EW@370$.rar";
#endregion
#region Page_Load
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Directory.Exists(pBackupDBAndCompressFilesPath))
BackupDatabase();
}
}
#endregion
#region BackupDatabase
private void BackupDatabase()
{
//SQLDMO.dll is a COM Object ,Microsoft SQl Server provider
SQLDMO.Backup pBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer pSqlServer = new SQLDMO.SQLServerClass();
try
{
pSqlServer.LoginSecure = false;
pSqlServer.Connect("110.110.10.5", "sa", "1111");//Server IP,Database Login UserName and Password
pBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
pBackup.Database = "Iridian2";
pBackup.Files = pBackupDBAndCompressFilesPath + "\\" + pBackupDBFileName;
pBackup.BackupSetName = "Iridian2";
pBackup.BackupSetDescription = "Database Backup";
pBackup.Initialize = true;
pBackup.SQLBackup(pSqlServer);
isSuccess = true;
}
catch (Exception ex)
{
isSuccess = false;
Response.Write(ex.Message);
}
finally
{
pSqlServer.DisConnect();
if (isSuccess)
{
bool isCompressSuccess = false;
if (File.Exists(pBackupDBAndCompressFilesPath + "\\" + pBackupDBFileName))
isCompressSuccess = CompressDBBackupFile(pBackupDBAndCompressFilesPath + "\\" + pBackupDBFileName, pBackupDBAndCompressFilesPath, pCompressFileName);
if (isCompressSuccess)
SendZipFileToAnotherComputer(pCompressFileName);
}
}
}
#endregion
#region CompressDBBackupFile
private bool CompressDBBackupFile(string patch, string rarPatch, string rarName)
{
bool excuteSuccess = false;
String the_Info;
ProcessStartInfo the_StartInfo;
Process the_Process = new Process();
try
{
the_Info = " a " + rarName + " " + patch + " -r -o+ -m5 -pEW#123@";//Set Password:EW#123@
the_StartInfo = new ProcessStartInfo();
the_StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";//Winrar install path
the_StartInfo.Arguments = the_Info;
the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
the_StartInfo.WorkingDirectory = rarPatch;
the_Process.StartInfo = the_StartInfo;
the_Process.Start();
excuteSuccess = true;
}
catch (Exception ex)
{
excuteSucce