C#备份Oracle数据库

Kobayashi 2010-09-13 11:10:37
我现在做了一个控制台应用程序用来备份Oracle的。代码如下
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
//p.StartInfo.FileName = "cmd.exe";
//p.StartInfo.UseShellExecute = false;
//p.StartInfo.RedirectStandardInput = true;
//p.StartInfo.RedirectStandardOutput = true;
//p.StartInfo.RedirectStandardError = true;
//p.StartInfo.CreateNoWindow = false;
try
{
p.Start();
p.StandardInput.WriteLine(@"exp ygd/ygd@ygdzxl file=d:\ygd.dmp log=d:\log.log");
p.StandardInput.WriteLine("exit");
string ls_ret = p.StandardOutput.ReadToEnd();
p.Close();
}
catch (Exception err)
{
}

这个方法可以备份数据库。但是控件台应用程序中不显示他备份的过程。请问怎么让它显示导出的过程。
...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
adiosnino 2010-09-13
  • 打赏
  • 举报
回复
学到了
兔子-顾问 2010-09-13
  • 打赏
  • 举报
回复
写个批处理,调用之
批处理可以这样写

@echo off
exp ygd/ygd@ygdzxl file=d:\ygd.dmp log=d:\log.log
exit


假设保存为aa.bat
你执行

Proces.Start("cmd.exe","/c aa.bat");就有你要的效果了。aa.bat可以动态的组合一个字符串,保存文件。
Kobayashi 2010-09-13
  • 打赏
  • 举报
回复
高手出来啊。。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧