日期:2014-05-18 浏览次数:20926 次
/// <summary> /// MrTom /// Oracle数据库备份 /// </summary> private void OracleBackUp() { //创建一个进程实例 Process p = new Process(); //生成备份文件的文件名称 string filename = "E:\\DBData" + System.DateTime.Today.ToString("yyyyMMdd") + ".dmp"; //导出程序路径 p.StartInfo.FileName = "D:\\oracle\\product\\10.2.0\\db_1\\BIN\\exp.exe"; //D:\oracle\product\10.2.0\db_1\bin\imp.exe //启用操作系统外壳程序执行 p.StartInfo.UseShellExecute = true; //显示dos窗口执行过程 p.StartInfo.CreateNoWindow = false; //执行参数用户名和密码还有本机配置的Oracle服务名[kdtc/bjdscoal@tns:orcl file=" + filename + ] string username = txtUsername.Text.Trim(); string pwd = txtPwd.Text.Trim(); string ipAddress = TxtIpAddress.Text.Trim(); p.StartInfo.Arguments = username + "/" + pwd + "@" + ipAddress + " file=" + filename;
------解决方案--------------------
/// <summary>
/// run command ang get the result info
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
public static string RunCmd(string command)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe"; //filename
p.StartInfo.Arguments = "/c " + command; //argument
p.StartInfo.UseShellExecute = false; //close Shell
p.StartInfo.RedirectStandardInput = true; //redirect input
p.StartInfo.RedirectStandardOutput = true; //redirect output
p.StartInfo.RedirectStandardError = true; //redirect error
p.StartInfo.CreateNoWindow = true; //no window
p.Start(); //start
//p.StandardInput.WriteLine(command); //input the command
//p.StandardInput.WriteLine("exit"); //Exit or will cause collapse
return p.StandardOutput.ReadToEnd(); //return the result
}