oracle数据备份

来源:互联网 发布:为什么淘宝没有展现 编辑:程序博客网 时间:2024/06/05 13:50

/// <summary>  
        /// 数据库备份  
        /// </summary>  
        /// <param name="fileName">dmp文件名称</param>  
        /// <param name="logFileName">log文件名称</param>  
        /// <returns>true:备份成功;false:备份失败</returns>  
        public static bool DBBackup(string dmpFileName, string logFileName)  
        {  
            // 返回值  
            bool result = false;  
            // 备份命令,从xml文件中获取 "/c EXP 用户名/密码@数据库服务名 FULL=Y INCTYPE=COMPLETE "  
            string backupCmd = MsgXml.GetConfig(XMLKey.BackupCommand.ToString());  
            // 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;  
                // 日志文件  
                LogHelper.info(arg);  
            }  
            catch (Exception ex)  
            {   
                // 错误日志  
                LogHelper.error(ex.Message);  
            }  
            return result;  
        } 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/stone851112/archive/2009/11/25/4871475.aspx