前提・実現したいこと
C#でPostgreSQLに対して操作をしたいのですがエラーになってしまいます。
該当のソースコード
private void Button_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec"); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardInput = false; p.StartInfo.CreateNoWindow = true; p.StartInfo.Arguments = @"/c psql --version /w"; p.Start(); string results = p.StandardOutput.ReadToEnd(); p.WaitForExit(); p.Close(); Console.WriteLine(results); }
出力結果・エラーメッセージ
'psql' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
試したこと
調べた結果パスが通ってない場合にこのようなメッセージが表示されるという情報を多く見たのですが、パスは通っており、クライアントから直接コマンドプロンプトを開き、"psql --version"と入力した場合には正常にバージョンが表示されます。
プログラムを通してコマンドプロンプトを動作させるときのみこのようなメッセージが表示されてしまうのはなぜでしょうか。Pathはwindowsの環境設定にて通しました。
回答1件
あなたの回答
tips
プレビュー