项目开发中,需要远程备份数据库,以下为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; }