我正在开发一个应用程序来使用 C# 从我的 postgreSQL 数据库中获取备份。我,我使用下面的代码来执行并从 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 !!!
我尝试使用命令 propt 将 pg_dump.exe 输出到文件中,如下所示:
C:\Program Files (x86)\pgAdmin III\1.16>pg_dump.exe > d:\log.txt
但是 log.txt 又是空的!!
提前致谢。