C#备份Oracle代码

项目开发中,需要远程备份数据库,以下为C#远程备份数据库的代码


/// <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;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值