class DBBackupHelper
{
/// <summary>
/// 数据库备份
/// </summary>
/// <param name="fileName">dmp文件名称</param>
/// <param name="logFileName">log文件名称</param>
/// <returns>true:备份成功;false:备份失败</returns>
public static bool DBBackupData(string dmpFileName, string logFileName)
{
// 返回值
bool result = false;
// 备份命令,从xml文件中获取 "/c EXP 用户名/密码@数据库服务名 FULL=Y INCTYPE=COMPLETE "
//string backupCmd = MsgXml.GetConfig(XMLKey.BackupCommand.ToString());
string backupCmd = "/c EXP ccense/oracle.ccense@ecard FULL=Y INCTYPE=COMPLETE";
// cmd中输入的参数内容
string arg = backupCmd + " FILE= " + dmpFileName + " LOG= " + logFileName;
try
{
// 如果dmp文件不存在,创建文件并释放
if (!File.Exists(dmpFileName))
{
File.Create(dmpFileName).Dispose();
}
// 如果log文件不存在,创建文件并释放
if (!File.Exists(logFileName))
{
File.Create(logFileName).Dispose();
}
// 开启新进程
Process process = new Process();
// 打开运行cmd
process.StartInfo.FileName = "cmd.exe";
// 要运行的命令
process.StartInfo.Arguments = arg;
// 关闭shell的使用
process.StartInfo.UseShellExecute = false;
// 重定向标准输入
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardError = true;
// 设置不显示cmd运行界面
process.StartInfo.CreateNoWindow = true;
// 启动进程
process.Start();
// TODO 进程条 正在备份,请稍候...
process.WaitForExit();
process.Dispose();
result = true;
// 日志文件
LogFileHelper.WriteLog("导出数据库成功");
}
catch (Exception ex)
{
// 错误日志
LogFileHelper.WriteLog("导出数据库失败"+ex.Message);
}
return result;
}
}
ORACLE备份类
最新推荐文章于 2021-04-09 19:15:31 发布