【发布时间】:2013-05-16 12:04:40
【问题描述】:
我正在开发一个应用程序来使用 C# 从我的 postgreSQL 数据库中获取备份。 i,m 使用下面的代码执行并从 pg_dump.exe 中取出。
ProcessStartInfo startinfo = new ProcessStartInfo
{
FileName = "\"C:\\Program Files (x86)\\pgAdmin III\\1.16\\pg_dump.exe\"",
Arguments = "--host XXX.XXX.XXX.XXX --port 5432 --username \"USERNAME\" --no-password --format plain --verbose --file \"D:\\MYBACKUP.backup\" \"MYDBNAME\"",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
Process proc = new Process();
proc.StartInfo = startinfo;
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
var r = proc.StandardOutput.ReadLine();
}
proc.WaitForExit();
Console.WriteLine(proc.ExitCode);
Console.ReadLine();
但是 proc.StandardOutput.ReadLine 总是返回 null!!!
我尝试将 pg_dump.exe 输出到一个带有命令 propt 的文件,如下所示:
C:\Program Files (x86)\pgAdmin III\1.16>pg_dump.exe > d:\log.txt
但是 log.txt 又是空的!!
提前致谢。
【问题讨论】: