c# oracle 数据库备份代码


view plaincopy to clipboardprint?
01.///
02. /// 数据库备份
03. ///

04. /// dmp文件名称
05. /// log文件名称
06. /// true:备份成功;false:备份失败
07. public static bool DBBackup(string dmpFileName, string logFileName)
08. {
09. // 返回值
10. bool result = false;
11. // 备份命令,从xml文件中获取 "/c EXP 用户名/密码@数据库服务名 FULL=Y INCTYPE=COMPLETE "
12. string backupCmd = MsgXml.GetConfig(XMLKey.BackupCommand.ToString());
13. // cmd中输入的参数内容
14. string arg = backupCmd + " FILE= " + dmpFileName + " LOG= " + logFileName;
15.
16. try
17. {
18. // 如果dmp文件不存在,创建文件并释放
19. if (!File.Exists(dmpFileName))
20. {
21. File.Create(dmpFileName).Dispose();
22. }
23.
24. // 如果log文件不存在,创建文件并释放
25. if (!File.Exists(logFileName))
26. {
27. File.Create(logFileName).Dispose();
28. }
29.
30. // 开启新进程
31. Process process = new Process();
32. // 打开运行cmd
33. process.StartInfo.FileName = "cmd.exe";
34. // 要运行的命令
35. process.StartInfo.Arguments = arg;
36. // 关闭shell的使用
37. process.StartInfo.UseShellExecute = false;
38. // 重定向标准输入
39. process.StartInfo.RedirectStandardInput = true;
40. process.StartInfo.RedirectStandardError = true;
41. // 设置不显示cmd运行界面
42. process.StartInfo.CreateNoWindow = true;
43.
44. // 启动进程
45. process.Start();
46. // TODO 进程条 正在备份,请稍候...
47.
48. process.WaitForExit();
49. process.Dispose();
50. result = true;
51. // 日志文件
52. LogHelper.info(arg);
53. }
54. catch (Exception ex)
55. {
56. // 错误日志
57. LogHelper.error(ex.Message);
58. }
59. return result;
60. }


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

你可能感兴趣的:(数据库,C,C++,C#,Oracle,.net)